Spring Boot嵌入式jar和application.properties位置

时间:2017-04-02 13:50:58

标签: spring-boot

我认为我的工作正常,因为在我的IDE中正在使用正确的环境属性文件,并且正确使用了本地application.properties。我试图使用profile specific properties来确定我的Spring-Boot 1.3.5应用程序中的各种值。

enter image description here

我的src / main / resources / application.properties是:

spring.profiles.active=test
server.port=8080
deploy.server=http://localhost
liquibase.change-log:classpath:/db/changelog/db.changelog-master.xml
liquibase.check-change-log-location=true
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
logging.file=myapp.log
spring.jackson.serialization.write_dates_as_timestamps=false

我有一个src / main / resources / application-test.properties:

server.port=8081
deploy.server=https://test.myapp.com
logging.level.liquibase:TRACE
logging.level.org.springframework.security:DEBUG

现在我显然有两个问题:

  1. 在我运行“gradle clean build”之后,我得到了我的jar并试图通过以下方式运行:
  2.   

    java -jar build / libs / app.jar -Dspring.profiles.active = local

    我看到了消息:

      

    以下个人资料有效:测试

    所以它从application.properties文件中选择了它,我似乎无法覆盖它,我认为这是导致我的第二个问题:

    1. 当我尝试使用带有值的参数化构建时,我的Jenkins构建失败: spring.profiles.active设置为“test”。
      enter image description here 我得到的错误是Tomcat处于失败状态。如果我从构建中取出该参数,它就可以工作。但是,除非我将application- {env} .properties复制到运行目录(这可能是最佳实践?),否则该构建不会从命令行运行。
    2. 我不确定问题是属性文件的位置还是我尝试构建它们的方式。

0 个答案:

没有答案