我有一个无法使用 .yml 配置文件运行的 Spring Boot 应用程序。下面是我运行的命令:
java -jar /opt/myAppFolder/myApp.war
我有一个配置文件夹,其位置与我运行 war 文件的位置相同。在那个配置中,我有一个应用程序需要检索一些配置的 application.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,因为它对我来说有动态属性列表更方便。为什么什么都不显示?
感谢任何帮助。
Spring Boot版本:1.5.7
操作系统版本:Ubuntu 3.13.0-24-generic
最佳答案
终于解决了。
故事是这样的:
我已经联系了 Spring Boot 团队,他们建议我升级到 1.5.8.RELEASE 版本。
一旦我这样做了,我就遇到了一个不同的问题;应用程序不再挂起,而是在不记录任何内容的情况下关闭。 最终证明是我的 logback-spring.xml 文件中的一个错误。它格式错误。在其“prod”配置文件中,我没有任何控制台附加程序。因此没有输出可见。所以我修复了我的文件,它开始工作了。
更多关于我与 Spring Boot 团队的沟通:
关于java - 在命令行上运行时 Spring Boot 应用程序挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46845337/