我有两个 Java 应用程序:
目前,我在不同的进程中启动这两个应用程序。
如何从客户端启动服务器以获取“独立”应用程序?使用 ProcessBuilder
调用 java.exe
是一种解决方案,但它有缺点:它将依赖于操作系统,并且不能保证服务器进程会在客户端离开时关闭/终止。
答案 0 :(得分:1)
从架构的角度来看,将它们分开是最好的选择,因为您将服务器和客户端分开,这将是生产环境中的行为。
如果您只在开发阶段需要它,并且将两者一起运行是为了节省时间,您可以使用 Docker 在容器中构建两者。基本上创建两个应用程序,从两个不同的文件夹构建,然后您将一起启动。
答案 1 :(得分:1)
我在 https://www.toptal.com/spring-boot/spring-boot-application-programmatic-launch 中找到了解决方案。伊戈尔·德拉克
...loader.archive.JarFileArchive
(和其他一些)jar 文件没有解压也没有修改。只读取了几个类。