我在使用外部概要文件运行spring-boot-jar文件时遇到问题。
我有一个运动衫的春季靴项目。我已经将属性和一些证书文件放在不同的目录中(用于不同的服务器开发和生产等)。应用程序需要这些属性和证书文件。
我的项目结构看起来像
MyProject
|_configurations
|_local
|_dev
|_web
|__src
|_target
通过在类路径中设置本地配置文件,我可以在intelliJ上本地运行它。我正在从web目录中生成jar文件。
当我运行jar文件时,它会抱怨,并且找不到属性和证书文件。
这些是我的尝试
- 通过在资源中放置所需的属性和证书来生成一个新的jar文件web\src\main目录下的目录
- 将属性文件放在类路径中,同时将jar文件作为
java –jar –DApp.config.file="c:MyProjectconflocal" MyProject.jar
但什么都不起作用,我收到了同样的错误,抱怨找不到属性和证书文件。
如何解决这个问题有任何帮助。有没有其他更好的解决方案来解决这类问题。
最后我发现了如何使用概要文件。
-
如果配置文件在项目中在运行jar时,按概要文件的名称在类路径中加载概要文件
java -jar -Dspring.profiles.active=<Profile name> YourApp.jar
-
如果配置在jar文件之外在运行jar 时加载配置文件和配置
java -jar -Dspring.profiles.active=<profile name> -Dloader.path=file:///C:/yourdirectorypath/MyApp/conf/environments/local MyApp.jar
还要注意,顺序应该与给定命令中的顺序相同,即Profile>Dloader.path>jar文件名