executando java e javac on start

1

Eu queria saber como executar o comando javac e java em um arquivo .java localizado em /usr/lib/java/jdk1.8.0_121/Testapp.java na inicialização. Assim, toda vez que o pc é ligado, eu preciso que o arquivo java seja compilado e executado. qualquer ajuda é apreciada.

    
por Tyler 20.02.2017 / 20:28

1 resposta

0

Parece que você está usando Debian ou Ubuntu.

Se você estiver em um sistema recente com systemd , basta criar systemd.unit , chamado /etc/systemd/system/java-test-app.unit neste exemplo.

[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

Eu recomendo criar um usuário separado para o aplicativo (chamado myuser neste exemplo), porque executar aplicativos como root geralmente não é uma boa ideia.

Eu também sugiro mover o aplicativo para fora da distribuição Java, já que o diretório /usr/lib é normalmente mantido pelo sistema de empacotamento e não pelo usuário regular.

Depois de criar o arquivo da unidade, tente garantir que ele funcione.

systemctl daemon-reload
systemctl start java-test-app

Para fazer o aplicativo iniciar após a inicialização do sistema.

systemctl enable java-test-app

Você pode verificar a execução do aplicativo com

systemctl status java-test-app

Se você deseja executar o aplicativo como root, basta atualizar a linec apropriada no arquivo da unidade.

    
por 20.02.2017 / 21:41