Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在同一端口上部署两个.jar文件?_Java_Spring_Maven_Spring Boot_Jenkins - Fatal编程技术网

Java 如何在同一端口上部署两个.jar文件?

Java 如何在同一端口上部署两个.jar文件?,java,spring,maven,spring-boot,jenkins,Java,Spring,Maven,Spring Boot,Jenkins,我想知道如何使用Jenkins在同一个端口上部署两个不同的.jar文件 这两个.jar文件是由Jenkins构建的,我只是想知道是否有比重新构建.war文件并使用单个Tomcat容器部署它们更好的选择 编辑: 我问这些问题的原因是因为我正在使用多个微服务构建一个webapp,因此我对如何使用“最佳实践”来实现这一点很感兴趣。听起来您想要的是一个公共访问点,您的客户可以使用它来访问您的服务。您可以通过创建一个API网关服务来实现这一点,该服务将请求路由到正确的服务。您最初的两个服务侦听不同的端口,

我想知道如何使用Jenkins在同一个端口上部署两个不同的.jar文件

这两个.jar文件是由Jenkins构建的,我只是想知道是否有比重新构建.war文件并使用单个Tomcat容器部署它们更好的选择

编辑:
我问这些问题的原因是因为我正在使用多个微服务构建一个webapp,因此我对如何使用“最佳实践”来实现这一点很感兴趣。

听起来您想要的是一个公共访问点,您的客户可以使用它来访问您的服务。您可以通过创建一个API网关服务来实现这一点,该服务将请求路由到正确的服务。您最初的两个服务侦听不同的端口,但您的客户端只需要知道API网关端点,API网关本身将路由请求


查看或了解一下如何做到这一点。

不可能在同一端口上运行多个应用程序,也不可能在同一JVM上运行多个JAR文件,因此这可能是不可能的。但是,您始终可以添加一个反向代理,以便它们都在“同一端口”(=反向代理的端口)上运行,但我不知道这是否解决了您的问题。也许在问题中加入为什么要让它们在同一个端口上运行这一点会有所帮助。最好的做法是将它们合并到单个应用程序中,或者在tomcat中将它们作为WAR部署。或者使用基于OSGI的平台之类的东西,允许您热部署模块(本质上与在tomcat中部署WAR相同…)谢谢您的快速回答,这听起来是一个非常好的解决方案。