Java 当由systemd启动时,不会加载Spring外部配置文件
我正在开发和测试一个基于Spring boot的java应用程序 我将外部配置文件“application.yml”存储在“config”文件夹中,该文件夹与部署服务器中相应的jar文件(“nlp-0.0.1-SNAPSHOT.jar”)并排放置(根据“”) 这是我的“application.yml”文件 只要我手动启动应用程序,这就可以完美地工作:Java 当由systemd启动时,不会加载Spring外部配置文件,java,spring,spring-boot,systemd,Java,Spring,Spring Boot,Systemd,我正在开发和测试一个基于Spring boot的java应用程序 我将外部配置文件“application.yml”存储在“config”文件夹中,该文件夹与部署服务器中相应的jar文件(“nlp-0.0.1-SNAPSHOT.jar”)并排放置(根据“”) 这是我的“application.yml”文件 只要我手动启动应用程序,这就可以完美地工作: java -jar nlp-0.0.1-SNAPSHOT.jar 但是,当我尝试通过systemd命令启动应用程序时: sudo systemc
java -jar nlp-0.0.1-SNAPSHOT.jar
但是,当我尝试通过systemd命令启动应用程序时:
sudo systemctl start nlp.service
应用程序启动,但未加载“config”文件夹中的配置文件“application.yml”
这是我的“nlp.service”文件
那么,问题是什么?我遗漏了什么吗?也许你应该尝试在你的服务中指向选项
“WorkingDirectory”
。
例如,如果您的应用程序位于/home/wjz/nlp-0.0.1-SNAPSHOT.jar
中,而application.yml
位于/home/wjz/config
中,那么工作目录=/home/wjz/
sudo systemctl start 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