Java 如何为tomcat服务器上的多个web应用程序实例传递单个命令行参数

Java 如何为tomcat服务器上的多个web应用程序实例传递单个命令行参数,java,spring-boot,tomcat,server,Java,Spring Boot,Tomcat,Server,我们有一个tomcat服务器正在运行。 我们希望我们的应用程序在这个tomcat服务器上作为5个独立实例运行。 每个实例都需要一组不同的命令行参数才能正常运行 我们如何为每个实例传递这些参数 我们运行tomcat服务器的当前版本。 我们有一个Spring引导应用程序,它需要在这个tomcat服务器上作为5个实例运行。这使得每个实例负责单个端口,并且在业务级别上服务于不同的环境(开发、测试等) 我们在每个环境中使用不同的spring配置文件,因此需要将它们传递给在tomcat上运行的每个实例 问题

我们有一个tomcat服务器正在运行。 我们希望我们的应用程序在这个tomcat服务器上作为5个独立实例运行。 每个实例都需要一组不同的命令行参数才能正常运行

我们如何为每个实例传递这些参数

我们运行tomcat服务器的当前版本。 我们有一个Spring引导应用程序,它需要在这个tomcat服务器上作为5个实例运行。这使得每个实例负责单个端口,并且在业务级别上服务于不同的环境(开发、测试等)

我们在每个环境中使用不同的spring配置文件,因此需要将它们传递给在tomcat上运行的每个实例

问题是:我们不知道如何传递这些论点。 似乎没有针对每个实例执行此操作的配置。 我们知道在整个tomcat上使用的JAVA_选项

我们曾考虑过在环境变量中声明这些参数,但: -潜在的其他应用程序不应该知道这些配置。 -每个实例的配置都非常具体,因此会产生很多“噪音”,将来可能很难维护这些噪音

当我们寻找正确的位置和正确的方法来实现这一点时,还没有代码

预期结果: 同一应用程序的5个实例在tomcat服务器上启动并运行,每个实例单独配置。 希望:
更改config.xmls或更改批处理脚本以传递命令行参数的方法。

部署war时不能提供参数,因此这是不可能的

您必须进行5次构建,然后可以设置要在
application.properties
中使用的配置文件。自动化应该不会太难,从技术上讲,如果您随后复制war并替换属性文件,则只需构建一次。

更新: 我们最终得出的结论是: 对于每个实例和每个环境,我们都有一个单独的context.xml。different context.xml在存储库中进行管理

在部署过程中,将相应的context.xml复制到war文件旁边。 我们对这个解决方案非常满意,因为我们能够自动化整个过程,甚至有一个上下文存储库