gpt4 book ai didi

java - systemd 启动时不加载 Spring 外部配置文件

转载 作者:行者123 更新时间:2023-11-30 06:05:37 25 4
gpt4 key购买 nike

我正在开发和测试基于 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

所以,问题是什么?我错过了什么吗?

最佳答案

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

关于java - systemd 启动时不加载 Spring 外部配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46127197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com