Spring Boot即服务不获取活动配置文件设置

时间:2018-10-24 02:13:20

标签: spring-boot spring-boot-gradle-plugin

我正在尝试使用init.d将Spring Boot作为服务运行。我遇到一个问题,即-Dspring.profiles.active = xxx未被考虑,并且spring表示未找到活动配置文件,将配置文件设置为默认值。

我正在使用SpringBoot版本1.5.13。

以下是我的conf文件设置

JAVA_OPTS="-Xms2048m -Xmx2048m -XX:+UseG1GC -XX:+UseStringDeduplication -Djsse.enableSNIExtension=false -Djava.security.egd=file:/dev/./urandom"
MODE=service
RUN_ARGS=-Dspring.profiles.active=myprofile

我什至尝试设置环境变量RUN_ARGS,但该服务仍然无法使用它。

我的conf文件与jar文件相比位于不同的文件夹中,并且我在gradle版本中使用了 bootRepackage 指向该位置(如下所示)

bootRepackage {
    mainClass = 'com.test.myapp.MyAppApplication'
    executable = true
    embeddedLaunchScriptProperties =
       [
         'mode': 'service',
         'confFolder': '/etc/myapp/conf'
        ]
    excludeDevtools = true
}

bootJar的名称和conf文件的名称相同。 另外,当我执行 head -100 myapp.jar

时,我还看到指定的confFolder已正确地放入bootJar中

我已经使用ospackage将我的spring boot应用程序打包为rpm,然后使用yum install部署它并启动服务。

我不确定我缺少什么。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

不是将-Dspring.profiles.active设置为RUN_ARGS,而是将其设置为JAVA_OPTS,然后应用程序按预期运行。