【问题标题】:application.properties is ignored, taken from somewhere elseapplication.properties 被忽略,取自其他地方
【发布时间】:2017-05-03 13:43:54
【问题描述】:

我遇到了一个奇怪的问题(我是 spring-boot 的新手),这是我的application.properties

server.port=8087
spring.datasource.url:${DB_URL}
spring.datasource.username=${DB_USER_NAME}
spring.datasource.password=${DB_PASSWORD}
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.show-sql=true

在本地运行时,它工作得很好。但是当使用登台服务器时,代码(例如控制器)的更改被执行,但application.properties 中的更改不是! server.port 例如在我的本地机器上是 8807,但在暂存服务器上是 8080。

应用程序是否从某个地方进行配置?

感谢您的帮助

【问题讨论】:

  • 您如何在登台服务器中启动您的应用程序?可以分享一下脚本或者命令行吗?
  • 由此nohup java -jar /home/username/app-server-0.0.1.jar
  • OK 所以你不会覆盖命令行中的任何属性。您将 application.properties 放在哪个文件夹中? application.properties 是否包含在您的 jar 中?
  • 我试图解压jar文件,我找不到application.properties
  • 这就是问题所在。将 application.properties 放在资源文件夹中,然后使用 maven/gradle 将其打包到您的 jar 中

标签: java spring maven spring-boot


【解决方案1】:

有一个documented list of sources属性将从什么优先级加载。

application.properties 在 17 中的优先级为 14,其中 1 是最高优先级

【讨论】:

    【解决方案2】:

    感谢@Issam EL-ATIF,问题出在我的application.properties 的路径上。如果 mvn 不在 resources 路径中,则 mvn 不会将其打包到 jar 中。 所以我只是将application.properties 移动到resources 文件夹中,它就可以工作了。

    【讨论】:

      猜你喜欢
      • 2017-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-19
      • 2018-10-23
      • 2010-12-10
      • 2017-09-02
      • 2023-02-21
      相关资源
      最近更新 更多