"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso reiniciar um aplicativo Java como Application.Restart() em C#?

Como posso reiniciar um aplicativo Java como Application.Restart() em C#?

Publicado em 19/11/2024
Navegar:307

How Can I Restart a Java Application Like Application.Restart() in C#?

Reiniciando um aplicativo Java: uma solução abrangente

A necessidade de reiniciar aplicativos Java surge em vários cenários, como quando um manipulador de eventos é acionado para iniciar uma reinicialização. Este artigo investiga um método prático para reiniciar um aplicativo AWT, espelhando a funcionalidade de Application.Restart() em C#.

The Rebirth Technique

Para reiniciar um Java aplicação, é empregada uma abordagem meticulosa que envolve várias etapas. Essas etapas, conforme descritas abaixo, garantem uma reinicialização perfeita:

  1. Localizando o executável Java: O algoritmo identifica o caminho para o executável java, que serve como mecanismo para iniciar o application.
  2. Identificando o aplicativo: A classe MyClassInTheJar é aproveitada para determinar a localização do arquivo jar que contém o application.
  3. Elaborando o comando de reinicialização: Um comando cuidadosamente construído é criado, consistindo no binário java (ou um iniciador alternativo, se necessário) e o caminho do arquivo jar.
  4. Invocando a reinicialização: O comando criado é executado, encerrando efetivamente o aplicativo em execução e iniciando simultaneamente seu reiniciar.

Código de exemplo

O código Java a seguir exemplifica o método restartApplication(), que incorpora a técnica mencionada acima:

public void restartApplication() {
    final String javaBin = System.getProperty("java.home")   File.separator   "bin"   File.separator   "java";
    final File currentJar = new File(MyClassInTheJar.class.getProtectionDomain().getCodeSource().getLocation().toURI());

    if (!currentJar.getName().endsWith(".jar")) {
        return;
    }

    final ArrayList command = new ArrayList();
    command.add(javaBin);
    command.add("-jar");
    command.add(currentJar.getPath());

    final ProcessBuilder builder = new ProcessBuilder(command);
    builder.start();
    System.exit(0);
}

Em conclusão

A reinicialização de aplicativos Java pode ser alcançada por meio de um processo metódico que envolve a identificação do executável Java, a determinação da localização do aplicativo, a construção do comando de reinicialização e a execução isto. Ao adotar essa abordagem, os desenvolvedores podem capacitar seus aplicativos com a capacidade de reinicializar perfeitamente, assim como seus equivalentes em C# fazem com Application.Restart().

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3