【问题标题】:Spring external config file does not load when start by systemd由 systemd 启动时未加载 Spring 外部配置文件
【发布时间】:2017-09-09 04:47:28
【问题描述】:

我正在开发和测试一个基于 Spring Boot 的 Java 应用程序。

我将外部配置文件“application.yml”存储在“config”文件夹中,该文件夹与部署服务器中的相应 jar 文件(“nlp-0.0.1-SNAPSHOT.jar”)并排放置(根据“24.3 Application property files”)

这是我的“application.yml”文件

---
 params:
   trustStorePath: config/client-truststore.jks
   trustStorePassword: wso2carbon
   keyStorePath: config/wso2carbon.jks
   keyStorePassword: wso2carbon
   defaultType: JKS
---
server:
   port: 9763
---

只要我手动启动应用程序就可以完美运行:

java -jar nlp-0.0.1-SNAPSHOT.jar

但是,当我尝试通过 systemd 命令启动应用程序时:

sudo systemctl start  nlp.service

应用程序启动,但位于“config”文件夹中的配置文件“application.yml”没有加载

这是我的“nlp.service”文件

[Unit]
Description=NLP Service

[Service]
User=wjz
ExecStart=/usr/bin/java -jar /home/wjz/nlp-0.0.1-SNAPSHOT.jar
[Install]
WantedBy=multi-user.target

那么,有什么问题吗?我错过了什么吗?

【问题讨论】:

    标签: java spring spring-boot systemd


    【解决方案1】:

    也许您应该尝试在您的服务中指向选项"WorkingDirectory"。 例如,如果您的应用位于/home/wjz/nlp-0.0.1-SNAPSHOT.jar,而application.yml 位于/home/wjz/config,那么WorkingDirectory=/home/wjz/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多