我有两个java应用程序:以spring启动的服务器使用它的客户端(通过restapi)目前,我在不同的进程中启动这两个应用程序。如何从客户机启动服务器以获得“独立”应用程序?使用 ProcessBuilder 打电话 java.exe 是一种解决方案,但它也有缺点:它依赖于操作系统,无法确保服务器进程在客户端离开时关闭/终止。
ProcessBuilder
java.exe
igetnqfo1#
从体系结构的Angular 来看,将它们分开是最好的选择,因为服务器和客户机是分开的,这将是生产环境中的行为。如果您只在开发阶段需要它,并且同时运行两者的原因是为了节省时间,那么您可以使用docker在容器中构建两者。基本上创建两个应用程序,从两个不同的文件夹构建,然后您将同时启动这两个应用程序。
bfrts1fy2#
我找到了解决办法https://www.toptal.com/spring-boot/spring-boot-application-programmatic-launch . 伊戈尔·德拉克打开包含服务器的jar文件以查找类 ...loader.archive.JarFileArchive (还有其他一些)示例化它并使用它在jar本身上启动应用程序。不会提取或修改jar文件。只读了几节课。
...loader.archive.JarFileArchive
2条答案
按热度按时间igetnqfo1#
从体系结构的Angular 来看,将它们分开是最好的选择,因为服务器和客户机是分开的,这将是生产环境中的行为。
如果您只在开发阶段需要它,并且同时运行两者的原因是为了节省时间,那么您可以使用docker在容器中构建两者。基本上创建两个应用程序,从两个不同的文件夹构建,然后您将同时启动这两个应用程序。
bfrts1fy2#
我找到了解决办法https://www.toptal.com/spring-boot/spring-boot-application-programmatic-launch . 伊戈尔·德拉克
打开包含服务器的jar文件以查找类
...loader.archive.JarFileArchive
(还有其他一些)示例化它并使用它在jar本身上启动应用程序。
不会提取或修改jar文件。只读了几节课。