在命令行上运行时Spring Boot应用程序挂起

sel*_*man 3 java yaml spring-boot

我有一个无法使用.yml配置文件运行的Spring Boot应用程序。以下是我运行的命令:

java -jar /opt/myAppFolder/myApp.war
Run Code Online (Sandbox Code Playgroud)

我有一个配置文件夹,该文件夹与运行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
Run Code Online (Sandbox Code Playgroud)

问题:一旦我在命令行上运行该应用程序,该过程就会挂起。无输出,无日志记录。我试图通过命令行启用调试。徒劳无功。

如果我放一个带有属性扩展名的文件,它可以工作。但是,我想使用.yml,因为它对我来说具有动态属性列表更为方便。为什么不显示任何内容?

任何帮助表示赞赏。

春季启动版本:1.5.7

作业系统版本:Ubuntu 3.13.0-24-generic

sel*_*man 6

终于解决了。

所以这是故事:

我已经联系了Spring Boot Team,他们建议我升级到1.5.8.RELEASE版本。

一旦这样做,我就会遇到另一个问题;应用程序不再挂起,而是在不记录任何内容的情况下关闭。最终在我的logback-spring.xml文件中发现是错误。它的格式错误。在其“产品”配置文件中,我没有任何控制台附加程序。因此,看不到任何输出。因此,我已经修复了文件,它开始起作用。

我与Spring Boot Team交流的更多信息:

https://github.com/spring-projects/spring-boot/issues/10711

  • 应该是一个答案-1.5.7在配置文件中存在严重的错误 (2认同)