menjalankan java dan javac saat start

1

Saya bertanya-tanya bagaimana saya bisa menjalankan perintah javac dan java pada file .java yang terletak di /usr/lib/java/jdk1.8.0_121/Testapp.java saat boot. Jadi setiap kali pc dihidupkan saya perlu file java untuk dikompilasi dan kemudian jalankan. bantuan apa pun dihargai.

Tyler
sumber

Jawaban:

0

Sepertinya, Anda menjalankan Debian atau Ubuntu.

Jika Anda menggunakan sistem terbaru systemd , buat saja systemd.unit file, disebut /etc/systemd/system/java-test-app.unit dalam contoh ini.

[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

Saya sarankan untuk membuat pengguna terpisah untuk aplikasi (disebut myuser dalam contoh ini), karena menjalankan aplikasi sebagai root biasanya bukan ide yang baik.

Saya juga menyarankan untuk memindahkan aplikasi dari distribusi Java sebagai direktori /usr/lib biasanya dikelola oleh sistem pengemasan dan bukan oleh pengguna biasa.

Setelah membuat file unit, cobalah untuk memastikan itu berfungsi.

systemctl daemon-reload
systemctl start java-test-app

Untuk membuat aplikasi untuk memulai setelah boot sistem.

systemctl enable java-test-app

Anda dapat memeriksa eksekusi aplikasi dengan

systemctl status java-test-app

Jika Anda ingin menjalankan aplikasi sebagai root, perbarui saja linec yang sesuai di file unit.

Věroš K.
sumber