我想知道如何在启动时对位于 /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。