我有一个 Spring Boot 应用程序,它不能使用 .yml 配置文件运行。下面是我运行的命令:
java -jar /opt/myAppFolder/myApp.war
我有一个配置文件夹,其位置与我运行战争文件的位置相同。在该配置中,我有一个应用程序.yml文件,应用程序需要该文件来检索一些配置:
security:
user:
password: password
logging:
level:
org.springframework.security: DEBUG
release:
sourceDir: /$ANY_DIR
targetDir: /$ANY_DIR
users:
- name: $ANY_NAME
pwd : $ANY_NAME
- name: $ANY_NAME
pwd : $ANY_NAME
mail:
host: $ANY_NAME
recipients: $ANY_NAME
subject: $ANY_NAME
body: $ANY_NAME
server:
port: 9000
spring:
profiles:
active: prod
问题:一旦我在命令行上运行应用程序,进程就会挂起。没有输出,没有日志记录。我尝试通过命令行启用调试。无济于事。
如果我放置一个带有属性扩展名的文件,它可以工作。但是我想使用 .yml,因为拥有动态属性列表对我来说更方便。为什么什么都没有显示?
任何帮助表示赞赏。
春季启动版本:1.5.7
操作系统版本:优麒麟 3.13.0-24-通用
终于解决了。
所以故事是这样的:
我已经联系了 Spring 引导团队,他们建议我升级到版本 1.5.8.RELEASE。
一旦我这样做了,我就遇到了一个不同的问题;应用程序不再挂起,而是关闭而不记录任何内容。最终,它被证明是我的logback-spring.xml文件中的错误。它的格式不正确。在其"prod"配置文件中,我没有任何控制台附加器。因此不可见输出。所以我修复了我的文件并开始工作。
更多关于我与 Spring Boot 团队的沟通:
https://github.com/spring-projects/spring-boot/issues/10711