Java 从命令行重写application.properties文件中的值
我在java web应用程序中有aplication.properties文件,其中包含这些属性Java 从命令行重写application.properties文件中的值,java,spring,tomcat,Java,Spring,Tomcat,我在java web应用程序中有aplication.properties文件,其中包含这些属性 spring.datasource.driverClassName=org.postgresql.Driver spring.datasource.url=jdbc:postgresql://localhost:19095/test spring.datasource.username=test spring.datasource.password=test123 但我想在启动tomcat服务器时
spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:19095/test
spring.datasource.username=test
spring.datasource.password=test123
但我想在启动tomcat服务器时覆盖这些属性(driverClassName除外)。
我试图从命令行设置这些变量,但它不起作用
tomcat版本:7.0.63为什么不使用由系统参数指定的配置目录的属性占位符:
<context:property-placeholder location="file:${configLocation}/database.properties:defaultDatabase.properties" />
另请参见,为什么不在系统参数指定的配置目录中使用属性占位符:
<context:property-placeholder location="file:${configLocation}/database.properties:defaultDatabase.properties" />
另请参见,我的应用程序中没有使用基于xml的配置。用户名、密码和url是动态的。“动态”是什么意思?为什么它们不能在tomcat服务器框的配置文件中?我的应用程序中没有使用基于xml的配置。用户名、密码和url是动态的。“动态”是什么意思?为什么它们不能在tomcat服务器框上的配置文件中?您是如何启动应用程序的?您是如何尝试从命令行设置变量的?也许你使用了错误的语法。这:
java-Dspring.datasource.username=newUsername-jar-yourjar.jar
应该适用于Spring启动应用程序,例如。@walen thnx获取回复。我使用了错误的语法。在CATALINA_选项中设置所有变量,并使用CATALINA.sh start启动我的tomcat。现在它工作正常了。您是如何启动应用程序的?您到底是如何尝试从命令行设置变量的?也许你使用了错误的语法。这:java-Dspring.datasource.username=newUsername-jar-yourjar.jar
应该适用于Spring启动应用程序,例如。@walen thnx获取回复。我使用了错误的语法。在CATALINA_选项中设置所有变量,并使用CATALINA.sh start启动我的tomcat。现在它工作得很好。