Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Запуск приложения


Автор: Grizli 13.5.2012, 15:58
Здравствуйте, возникла небольшая проблема с запуском приложения:
Код

 public static void startApp2()
    {
      File jar = new File(mainDir, "Launcher.jar");
      try
      {
        Runtime.getRuntime().exec("java -jar " + jar);
      }
      catch (Exception e)
      {
        e.printStackTrace();
        new JOptionPane();
        JOptionPane.showMessageDialog(null, e);
      }
    }

На всех OC запуск приложения идёт, но вот на Windows XP SP2\SP3, это не работает.

Автор: dorogoyIV 13.5.2012, 22:50
а что покажет, если после третьей строки написать: ?
Код

   new JOptionPane().showMessageDialog(null, jar.exists());

Автор: Grizli 14.5.2012, 15:31
На данный момент я не могу это проверить, т.к у меня нет ни windows XP, не виртуальной машины! 

Автор: LSD 14.5.2012, 17:20
Цитата(Grizli @  13.5.2012,  16:58 Найти цитируемый пост)
На всех OC запуск приложения идёт, но вот на Windows XP SP2\SP3, это не работает. 

1. Не java а java.exe.
2. Не читается stdout/stderr запущенной программы, если буфер который предоставляет ОС переполнится (а он весьма маленький), то программа запись в stdout/stderr зависнет.

Автор: Grizli 14.5.2012, 21:31
LSD,  добавил .exe ничего не изменилось, можете ещё 2й пункт пояснить?

dorogoyIV,  true выдаёт 

Автор: LSD 15.5.2012, 10:55
Цитата(Grizli @  14.5.2012,  22:31 Найти цитируемый пост)
 можете ещё 2й пункт пояснить?

Runtime().exec() возвращает Process
1. Надо дождаться завершения этого Process и то с каким кодом он завершается.
2. У него есть методы getInputStream() и getErrorStream() это stdout/stderr запущенного приложения их надо как минимум читать, а еще лучше перенаправить в лог, чтобы увидеть если программа выдает ошибку.

Автор: aleksandy 16.5.2012, 07:42
Цитата(Grizli @  14.5.2012,  21:31 Найти цитируемый пост)
добавил .exe ничего не изменилось

А путь к директории с java.exe в переменной PATH прописан?

Автор: Grizli 21.5.2012, 12:40
Можете помочь в индивидуальном формате, я скину вам полностью код программы в лс, только напишите пожалуйста 

Автор: dorogoyIV 21.5.2012, 12:52
я проверял на W XP SP2 и SP3
поэтому даже если ты скинешь весь код, у меня он наверняка будет работать...

Автор: aleksandy 23.5.2012, 06:45
А пробелов, кстати, в пути к Launcher.jar нет? Попробуй 
Код

Runtime.getRuntime().exec("java -jar \"" + jar.getAbsolutePath() + "\"");

Автор: Grizli 27.5.2012, 11:19
aleksandy,  именно эта проблема и была, я её уже исправил давно 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)