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

标签 java spring-boot yaml

我有一个无法使用 .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 团队的沟通:

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

关于java - 在命令行上运行时 Spring Boot 应用程序挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46845337/

相关文章:

ruby - Middleman Slim 模板 - 有没有办法将变量传递到 YAML Front Matter 中?

flask - Google Cloud 上的 Cron 作业失败

java - 如何在 web.xml 中配置安全注释的实体过滤范围?

java - 如何同时显示启动屏幕和我的 JFrame?

java - 应用程序卡在 "Configuring OrikaBean mapper"处。为什么?

spring-boot - 无法使用gradle和sts生成JPA元模型casse

java - 概念之间的区别

java - 无法从 SQLite 数据库填充我的 Activity (DrinkActivity)

spring-boot - Orika Mapper-MapperFacade初始化后无法注册转换器

typescript - 出现错误 : Cannot find module 'js-yaml'