запуск Java и Javac на старте

300
Tyler

Мне было интересно, как я могу запустить команду javac и java для файла .java, который находится в /usr/lib/java/jdk1.8.0_121/Testapp.java при загрузке. Поэтому каждый раз, когда компьютер включается, мне нужно, чтобы файл Java был скомпилирован и затем запущен. любая помощь приветствуется.

1

1 ответ на вопрос

0
Věroš K.

Кажется, вы используете 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 в файле модуля.

Похожие вопросы