我目前有3个属性文件:
的 application.properties
spring.profiles.active=@activatedProperties@
application-develoment.properties
#DB properties:
db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://localhost:5432/mydb
db.username=user
db.password=pswd
#Data source management:
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.show_sql=true
hibernate.current_session_context_class=thread
application-production.properties
#DB properties:
db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://localhost:5432/myproddb
db.username=admin
db.password=admin
#Data source management:
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.show_sql=false
hibernate.current_session_context_class=thread
我的 pom.xml
中的my maven配置文件设置如下<profiles>
<profile>
<id>development</id>
<properties>
<activatedProperties>development</activatedProperties>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>production</id>
<properties>
<activatedProperties>production</activatedProperties>
</properties>
</profile>
</profiles>
和我的DataSourceConfig:annotaion @PropertySource(value =&#34; classpath:application.properties&#34;)
当我使用开发或生产配置文件进行编译时,一切正常,但现在我想将属性文件外部化到我的Tomcat服务器的/ conf / localhost目录,有关如何做到的任何想法吗?
答案 0 :(得分:0)
使用Spring Cloud Config服务器为您提供集中的外部化配置(以及更多其他配置)。
答案 1 :(得分:0)
您可以传递新的配置文件
java -jar myproject.jar --spring.config.location=classpath:/new.properties,file:/home/override.properties
这将覆盖jar中配置文件中定义的配置。