使用 classpath 从 Systemd 运行 Java 进程

使用 classpath 从 Systemd 运行 Java 进程

我有以下服务:

[Unit]
Description=App
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -server /opt/app/start.ini
Restart=on-abort


[Install]
WantedBy=multi-user.target

这个 Java 应用程序需要一堆 jar 文件,我必须将它们添加到类路径中:

export CLASSPATH=/opt/app/lib/*

我这里的问题是我不知道如何在服务启动时自动初始化类路径。

PS 我在 CentOS 8 上运行 jdk 8

答案1

解决方案是在您的 systemd 文件中添加以下内容:

[Service]
EnvironmentFile=/etc/sysconfig/app

然后在该文件中添加以下行:

CLASSPATH=/opt/app/lib/*

相关内容