SORU
11 Kasım 2010, PERŞEMBE


Nasıl bir Java uygulamasını yeniden başlatın miyim?

Nasıl Java AWT uygulaması yeniden başlatın miyim? Her hangi bir olay işleyicisi bağlı bir düğme var. Ne kodu uygulamayı yeniden başlatmak için kullanılır?

Application.Restart() C içinde aynı şeyi yapmak istiyorum# uygulama.

CEVAP
16 Kasım 2010, Salı


Elbette öylemümkünbir Java uygulamasını yeniden başlatın.

Bir keresinde kendini güncellemek için mümkün olan bir Java uygulaması yazdım ve bu nedenle kendisini yeniden gerekiyordu. (Bazı parçaları ben çizgili beri hala geçerli Java, umarım) aşağıdaki yöntemi kullandım

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());

  /* is it a jar file? */
  if(!currentJar.getName().endsWith(".jar"))
    return;

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

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

Temel olarak aşağıdaki işlemleri gerçekleştirir:

  • Java çalıştırılabilir dosyayı bulmak
  • Uygulama (benim durumumda, kavanoz yer bulmak için MyClassInTheJar kullanarak bir kavanoz) bulabilirsiniz
  • Bir komut jar yeniden inşa etmek
  • Çalıştırmak! (ve böylece mevcut uygulama sonlandırılıyor ve yeniden başlama)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Goran Dimov

    Goran Dimov

    1 HAZİRAN 2014
  • MADFINGER Games a.s.

    MADFINGER Ga

    21 NİSAN 2009
  • vgeller1

    vgeller1

    22 Kasım 2009