>  기사  >  Java  >  C# Application.Restart()와 같은 Java AWT 애플리케이션을 다시 시작하는 방법은 무엇입니까?

C# Application.Restart()와 같은 Java AWT 애플리케이션을 다시 시작하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-07 08:32:03755검색

How to Restart a Java AWT Application like C# Application.Restart()?

Java 애플리케이션 다시 시작

질문:

연결된 이벤트 핸들러에 의해 시작된 Java AWT 애플리케이션을 어떻게 다시 시작할 수 있나요? C#의 Application.Restart() 기능을 복제하는 버튼에?

답변:

예, Java 애플리케이션을 다시 시작할 수 있습니다. 해결 방법은 다음과 같습니다.

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

    // Check if it's a jar file
    if (!currentJar.getName().endsWith(".jar")) {
        return;
    }

    // Build command: java -jar application.jar
    ArrayList<String> command = new ArrayList<>();
    command.add(javaBin);
    command.add("-jar");
    command.add(currentJar.getPath());

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

이 방법은 다음과 같이 작동합니다.

  1. Java 실행 파일 찾기: Java 실행 파일(이 경우 Java 바이너리)을 검색합니다. ).
  2. 애플리케이션 식별: 제공된 클래스를 사용하여 이 예에서 jar 파일로 가정되는 애플리케이션을 식별합니다.
  3. 재시작 명령 구성: Java 바이너리를 사용하여 jar를 다시 시작하는 명령을 어셈블합니다.
  4. 명령 실행: 명령이 실행되어 현재 애플리케이션을 종료하고 다시 시작합니다.

위 내용은 C# Application.Restart()와 같은 Java AWT 애플리케이션을 다시 시작하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.