Java 在Spring Boot中是否有一种自定义部署路径的标准方法?

Java 在Spring Boot中是否有一种自定义部署路径的标准方法?,java,spring,tomcat,spring-boot,Java,Spring,Tomcat,Spring Boot,我现在正在探索发展的可能性,我处于一个小小的僵局。我希望能够同时运行两个Spring Boot应用程序,都在同一台服务器上,但路径不同(一个部署在/,另一个部署在/另一个路径) 因为这是一个在Spring Boot中运行的嵌入式Tomcat实例,所以没有可供我更改的配置文件 有没有标准的方法可以做到这一点?有可能吗?由于它使用嵌入式tomcat,您应该能够向每个应用程序添加一个/META-INF/context.xml,该应用程序指定了(至少对于普通的tomcat是这样的) 这适用于我们普通的嵌

我现在正在探索发展的可能性,我处于一个小小的僵局。我希望能够同时运行两个Spring Boot应用程序,都在同一台服务器上,但路径不同(一个部署在
/
,另一个部署在
/另一个路径

因为这是一个在Spring Boot中运行的嵌入式Tomcat实例,所以没有可供我更改的配置文件


有没有标准的方法可以做到这一点?有可能吗?

由于它使用嵌入式tomcat,您应该能够向每个应用程序添加一个
/META-INF/context.xml
,该应用程序指定了(至少对于普通的tomcat是这样的)


这适用于我们普通的嵌入式tomcat产品,所以我希望它也适用于Spring Boot。

Spring Boot附带了一些预构建的属性支持。如果创建应用程序.properties文件,可以包括:

server.port=<another port>
server.address=<another IP address>
server.sessionTimeout=<another timeout setting>
server.contextPath=/your-other-path
server.port=
服务器地址=
server.sessionTimeout=
server.contextPath=/您的其他路径

这可以在可运行JAR附近的application.properties中,嵌入JAR文件中,或者通过java命令作为-Dserver.contextPath=/alt path应用。这些是级联的,这意味着您可以在JAR中嵌入一组默认值,用本地应用程序.properties文件覆盖,然后最后用-D选项覆盖应用程序.properties

啊,现在我又想到了。我记得在演讲中讨论并演示了这一点。谢谢一个很好的观点是@Makoto,Spring Boot不支持在同一个嵌入式容器中运行多个应用程序,我不确定这是否正是你想要的。每个应用程序都在自己的嵌入式容器中运行。Spring Boot应用程序在自己的JVM中运行。要获得您要求的行为,您需要两个应用程序都位于同一个JVM中,而Spring Boot并不是专门为这个JVM设计的。