繁体   English   中英

在jar文件夹外运行时,SpringBoot无法读取application.properties

[英]SpringBoot can't read application.properties when running outside jar folder

我创建了一个SpringBoot应用程序,并将application.properties放在jar文件的同一文件夹中。 这是文件的内容:

 server.port=8081 

当我在罐子外部运行/ bin / java -jar /opt/apl/org.web.exemplo-java-maven.1.0.0-90/org.web.exemplo-java-maven-1.0.0-90.jar时文件夹,它不会读取application.properties并在端口8080中运行该程序。

当我在罐子里运行/ bin / java -jar /opt/apl/org.web.exemplo-java-maven.1.0.0-90/org.web.exemplo-java-maven-1.0.0-90.jar时文件夹(或包含application.properties的任何文件夹中),它将读取文件并在端口8081中运行。

怎么了? 我认为属性文件必须与jar文件位于同一位置。 但是碰巧它需要与我运行命令的文件夹相同。

按照惯例,在应用程序启动时,Spring Boot会在类路径根目录下查找application.properties文件,例如JAR文件中的顶级目录结构。 从cmdline启动应用程序时,可以使用Spring特定的环境属性来自定义此行为并配置其他application.properties位置:

/bin/java -jar /opt/apl/org.web.exemplo-java-maven.1.0.0-90/org.web.exemplo- 
java-maven-1.0.0-90.jar --spring.config.location=classpath:/other- 
application.properties

检查以下内容: https : //docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-application-property-files

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM