在另一个java应用程序中启动spring引导应用程序?

crcmnpdw  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(473)

我有两个java应用程序:
以spring启动的服务器
使用它的客户端(通过restapi)
目前,我在不同的进程中启动这两个应用程序。
如何从客户机启动服务器以获得“独立”应用程序?使用 ProcessBuilder 打电话 java.exe 是一种解决方案,但它也有缺点:它依赖于操作系统,无法确保服务器进程在客户端离开时关闭/终止。

igetnqfo

igetnqfo1#

从体系结构的Angular 来看,将它们分开是最好的选择,因为服务器和客户机是分开的,这将是生产环境中的行为。
如果您只在开发阶段需要它,并且同时运行两者的原因是为了节省时间,那么您可以使用docker在容器中构建两者。基本上创建两个应用程序,从两个不同的文件夹构建,然后您将同时启动这两个应用程序。

bfrts1fy

bfrts1fy2#

我找到了解决办法https://www.toptal.com/spring-boot/spring-boot-application-programmatic-launch . 伊戈尔·德拉克
打开包含服务器的jar文件以查找类 ...loader.archive.JarFileArchive (还有其他一些)
示例化它并使用它在jar本身上启动应用程序。
不会提取或修改jar文件。只读了几节课。

相关问题