java - springboot war放入tomcat启动怎么指定使用外部application.properties
问题描述
springboot war放入tomcat启动怎么指定使用外部application.properties
问题解答
回答1:Resource支持 file:d:/myspring/banner.txt 这种方式,那么 @PropertySource('file:///user/myspring/application.properties') 应该也是可以的,可以试下,我没尝试过。
回答2:可以在tomcat的bin目录下的catalina.sh文件里面,添加环境变量例如:tomcat目录名为demo。
首先,修改catalina.sh文件在230行左右
f [ -z '$JSSE_OPTS' ] ; then JSSE_OPTS='-Djdk.tls.ephemeralDHKeySize=2048'fiJAVA_OPTS='$JAVA_OPTS $JSSE_OPTS'#添加配置文件路径#=======================WEB APP===============================JAVA_OPTS='$JAVA_OPTS -DWEB APP_PROPERTY_FILE=/home/tomcat/demo/conf/WebProperties.properties'#=======================WEB APP================================
然后,将WebProperties.properties文件上传到名为demo的tamcat下的conf目录下
最后,项目里面导入配置文件时,使用${WEB APP_PROPERTY_FILE}即可获取到配置文件路径。
本地开发时,在导入配置文件时,使用filePath='file:C/Test/WebProperties.properties'方式导入即可。当然,也可以配置环境变量。
以上就是我们项目里面的解决方案。可能因环境不同有所差异,自己参考吧
回答3:tomcat中environment可以指定spring.config.location = application property files
回答4:打成war包的话确实不太好弄,不过在上线之前不是已经改为线上的配置了吗 或者 定义多个配置文件 使用命令启动时指定使用哪一个
相关文章:
1. linux - 【已解决】fabric部署的Python项目Apache启动之后提示403Forbidden该如何解决?2. python - (初学者)代码运行不起来,求指导,谢谢!3. mysql里的大表用mycat做水平拆分,是不是要先手动分好,再配置mycat4. window下mysql中文乱码怎么解决??5. python - flask sqlalchemy signals 无法触发6. nginx - pip install python库报错7. python - 获取到的数据生成新的mysql表8. python的文件读写问题?9. javascript - js 对中文进行MD5加密和python结果不一样。10. 为什么python中实例检查推荐使用isinstance而不是type?
