Проблема с запуском Java-приложения - PullRequest
0 голосов
/ 02 апреля 2009

Я разработал Java-приложение Swing, затем развернул его с помощью пакета .jar.

Я запускаю свое приложение на своем компьютере, дважды щелкнув файл .jar, и все идет хорошо, все также отлично работает из командной строки (dos prompt).

Вот моя проблема. Я пытался запустить свое приложение на другом ПК:

  • та же ОС (Windows XP)

  • то же JRE (1.6.0_U13)

  • но Oracle JInitiator 1.3.1.18 установлен (это единственное отличие от моего ПК)

Приложение отлично работает только из командной строки, но не из графического интерфейса!

При двойном щелчке по файлу .jar я получаю эту ошибку:

`Could not find the main class. program will exit!`

Может ли эта ошибка быть вызвана конфликтом между JRE и JInitiator?

У кого-нибудь были такие же проблемы?

Спасибо


редактирование:

выполнение файлов .jar из графического интерфейса пользователя связано с командой "javaw"

Ответы [ 4 ]

3 голосов
/ 02 апреля 2009

Вероятно, это конфликт с JInit, который изменяет связь между файлами jar и командой java, используемой для их запуска.

Смотрите эту тему .

Переустановил Java, и проблема исчезла.

1 голос
/ 06 апреля 2009

Краткое описание может быть таким: jinitiator устанавливается как полностью реализованная JRE с некоторыми дополнительными функциями для кэшированных загрузок при работе с апплетами.

Как и все установщики JRE, которые я видел в последнее время, независимо от того, являются они новыми или старыми, они заменяют несколько записей в реестре, чтобы стать активными JRE. Все, что вы установили последним, будет работать, если вы не укажете полный путь к java.exe или не измените реестр, чтобы он указывал на другой JRE.

изучить:

  • HKEY_CLASSES_ROOT \ jarfile \ Shell \ открытую команды \ и посмотреть, если путь к javaw.exe правильный. (или даже в комплекте)
  • HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Пути \ java.exe и javaw.exe и javaws.exe, чтобы проверить путь там также.
1 голос
/ 02 апреля 2009

Вы проверили свои переменные PATH / CLASSPATH / JAVA_PATH. Возможно, Jinitiator установил неправильную версию спереди.

0 голосов
/ 02 апреля 2009

Возможно, проверьте ваши записи манифеста. Посмотрите, содержит ли MANIFEST.MF в банке атрибут Main-Class, правильно установленный для класса, который должен вызываться, если не попытаетесь установить его.

...