我正在使用Spring启动应用程序,其中使用application.properties中的以下属性完成数据的默认配置:
spring.datasource.driverClassName=${datasource.driver.className}
spring.datasource.url=${datasource.url}
spring.datasource.username=${datasource.username}
spring.datasource.password=${datasource.password}
问题是,当我通过本地maven运行spring boot run命令时,这很有效,但是我需要以这样的方式配置事物:当我尝试使用maven构建来创建war时,配置会将JNDI名称设置为:
spring.datasource.jndi-name=java:jboss/datasources/
我可以通过maven或任何其他方式使其可配置,当我们通过Spring引导部署它时,它选择了4个以上的属性,当我们创建一个war时,它只选择JNDI属性 .
-Vaibhav
1 回答
您可以使用Spring配置文件 . 例如,创建一个名为
application-local.properties
的文件并向其添加前四个属性:然后创建另一个文件名
application-jndi.properties
:现在,您所要做的就是在本地运行时将VM参数
-Dspring.profiles.active=local
(或添加SPRING_PROFILES_ACTIVE=local
环境变量)添加到命令,并在需要使用JNDI运行时添加-Dspring.profiles.active=jndi
.这也不困难 . 您还可以将其中一个配置属性设置为默认值(在
application.properties
中),这样您就不必配置配置文件了 .