启动时运行 java 和 javac

启动时运行 java 和 javac

我想知道如何在启动时对位于 /usr/lib/java/jdk1.8.0_121/Testapp.java 的 .java 文件运行命令 javac 和 java。因此每次打开电脑时,我都需要编译然后运行 ​​java 文件。任何帮助都非常感谢。

答案1

看起来您正在运行 Debian 或 Ubuntu。

如果你使用的是较新的系统systemd,只需创建systemd.unit文件, /etc/systemd/system/java-test-app.unit在此示例中称为 。

[Unit]
Description = Java test app
After = network.target
Wants = network.target

[Service]
Type = oneshot
User = myuser
Workdir = /home/myuser
ExecStartPre = javac Testapp.java
ExecStart = java Testapp

[Install]
WantedBy = multi-user.target

我建议为应用程序创建单独的用户(myuser在此示例中称为),因为以 root 身份运行应用程序通常不是一个好主意。

我还建议将应用程序移出 Java 发行版,因为该目录/usr/lib通常由打包系统维护,而不是由普通用户维护。

创建单元文件后,尝试一下以确保它能正常工作。

systemctl daemon-reload
systemctl start java-test-app

使应用程序在系统启动后启动。

systemctl enable java-test-app

您可以使用以下方式检查应用程序的执行情况

systemctl status java-test-app

如果您想以 root 身份运行该应用程序,只需更新单元文件中的相应 linec。

相关内容