Я создал приложение Javafx с графическим интерфейсом и экспортировал его в файл jar. Приложение с графическим интерфейсом работает нормально. После создания этого приложения я переместил его в систему Linux, и он работает нормально здесь. Теперь я хочу запустить это приложение с графическим интерфейсом в Linux, используя сервисы, чтобы я мог запустить этот сервис при запуске системы Linux.
Для этого я создал файл pointless.sh, который при запуске запускает файл jar. Отлично работает код для этого файла pointless.sh
java -jar GUI1.jar
при запуске этого скрипта, т. Е. "./Pointless" GUI отображается на экране.
Проблема начинается, когда я пытаюсь создать для нее службу.
Я сделал сервис для этого в / etc / systemd / system pointless.service
[Service]
ExecStart=/home/mandeep/Documents/pointless.sh
при запуске sudo systemctl start pointless.service ничего не происходит, и в статусе отображаются следующие ошибки.
● pointless.service
Loaded: loaded (/etc/systemd/system/pointless.service; static; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2019-07-06 13:44:00 EDT; 25min ago
Process: 1449 ExecStart=/home/mandeep/Documents/pointless.sh (code=exited, status=203/EXEC)
Main PID: 1449 (code=exited, status=203/EXEC)
Jul 06 13:44:00 debian systemd[1]: Started pointless.service.
Jul 06 13:44:00 debian systemd[1449]: pointless.service: Failed at step EXEC spawning /home/mandeep/Documents/pointless.sh: Exec format error
Jul 06 13:44:00 debian systemd[1]: pointless.service: Main process exited, code=exited, status=203/EXEC
Jul 06 13:44:00 debian systemd[1]: pointless.service: Unit entered failed state.
Jul 06 13:44:00 debian systemd[1]: pointless.service: Failed with result 'exit-code'.
Обновление !!!
Шаг 1
Как и ожидалось, я создал простой Java-приложение helloworld и экспортировал его в файл jar. Я запустил этот файл как java -jar helloworld, и он сработал.
Шаг 2
Я создал простой сервис для него, и сервис также работал как ожидалось.
сервисные коды
[Service]
ExecStart=/usr/bin/java -jar /home/mandeep/Documents/helloworld.jar
выход
Jul 07 17:08:13 debian systemd[1]: Started pointless.service.
Jul 07 17:08:13 debian java[2765]: Hello World!
Шаг 3
Я обновил сервис до GUI1.jar, чтобы проверить исходную опубликованную проблему.
код
[Service]
ExecStart=/usr/bin/java -jar /home/mandeep/Documents/GUI1.jar
и снова показывает ошибку
выход
● pointless.service
Loaded: loaded (/etc/systemd/system/pointless.service; static; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2019-07-07 17:14:37 EDT; 4s ago
Process: 2816 ExecStart=/usr/bin/java -jar /home/mandeep/Documents/GUI1.jar (code=exited, status=1/FAILURE)
Main PID: 2816 (code=exited, status=1/FAILURE)
Jul 07 17:14:37 debian java[2816]: at com.sun.glass.ui.Application.run(Application.java:146)
Jul 07 17:14:37 debian java[2816]: at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:257)
Jul 07 17:14:37 debian java[2816]: at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:211)
Jul 07 17:14:37 debian java[2816]: at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:675)
Jul 07 17:14:37 debian java[2816]: at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:337)
Jul 07 17:14:37 debian java[2816]: at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
Jul 07 17:14:37 debian java[2816]: ... 5 more
Jul 07 17:14:37 debian systemd[1]: pointless.service: Main process exited, code=exited, status=1/FAILURE
Jul 07 17:14:37 debian systemd[1]: pointless.service: Unit entered failed state.
Jul 07 17:14:37 debian systemd[1]: pointless.service: Failed with result 'exit-code'.