我有一个war包,想要包含一个外部类路径:
在我的控制器中:
我有以下代码:
WebApplication类:
"Hello"
控制器类:
@SpringBootApplication
@PropertySource( "classpath:config.properties" )
public class WebApplication{
public static void main(String[] args){
SpringApplication.run(WebApplication.class, args);
}
}
我的文件夹:
| -project
@Controller @PropertySource( "classpath:config.properties" ) public class ApplicationController{ //doing some stuff here }
然而,当我建立
project.war
我放入远程服务器(unix):
|项目
|-src |-main |-java |-com.mypage.temp |-WebApplication.java (main class) |-com.mypage.temp.controller |-ApplicationController (Controller) |-resources |- [some stuff & not putting my properties file here to include externally] |-deploy |-config.properties
东西/东西/东西/ bin中/ project.war 东西/东西/东西/配置/ config.properties
运行命令:
java -jar -Dclasspath = / something / something / something / config / config.properties project.war
错误:
|-bin
|-project.war
|-config
|-config.properties
答案 0 :(得分:1)
从official documentation开始,Spring Boot依赖于spring.config.location
Spring Boot属性来指定环境属性文件的位置。
您可以在命令行中提供它。
您还可以使用。来引用显式位置 spring.config.location环境属性(以逗号分隔的列表 目录位置或文件路径。)
$ java -jar myproject.jar --spring.config.name = myproject or
$ java -jar myproject.jar --spring.config.location =类路径:/default.properties,classpath:/override.properties
所以,试试看:
java -jar project.war --spring.config.location=classpath:/something/something/something/config/config.properties