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



我有一个 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

最新更新