Java-программа отлично работает в NetBeans, но неожиданно завершает работу при попытке запуска - PullRequest
1 голос
/ 18 июня 2011

Сегодня я столкнулся со странной проблемой.Я постараюсь описать шаги, которые я делаю, как можно более подробно.

  1. Я создал приложение Java в NetBeans.Приложение запускается без исключений при запуске в NetBeans, нажав кнопку «Запустить основной проект».Общая продолжительность полного запуска составляет около 1 минуты.

  2. При создании проекта я вижу следующую опцию в окне вывода NetBeans:

    Чтобы запустить это приложение изв командной строке без Ant, попробуйте:

    java -jar "C:\java_libraries\PrxJobCommunicator\dist\PrxJobCommunicator.jar"
    
  3. Итак, я открываю командную строку (Windows 7), введите эту команду + введите обязательный целочисленный аргумент и нажмите enter

  4. Приложение запускается, работает в течение нескольких секунд и завершает работу без каких-либо сообщений.

  5. приложение записывает в текстовый файл в разных точкахкод, так что я могу проследить вывод до того момента, когда он перестает работать.Я специально сделал несколько дополнительных вызовов для метода записи файлов, чтобы найти, где программа продолжает / выходит, но безрезультатно.Казалось бы, программа просто перестает работать на определенной строке и все.

Я действительно не знаю, в чем может быть проблема: приложение работает нормально в NetBeans и завершается сбоем без каких-либо сообщений при запуске из командной строки.

ДолженЯ проверяю что-то особенное в NetBeans?Знаете ли вы какие-либо специальные методы отладки файла JAR, если он запускается из командной строки?

Любые подсказки приветствуются.Спасибо, Андрас

Ответы [ 2 ]

2 голосов
/ 18 июня 2011

Я подозреваю, что существует разница в пути к классам, когда приложение запускается из NetBeans и когда оно запускается из командной строки.
Должно быть какое-то исключение, которое выдается, если у вас есть крайнее
catch (Exception ) блок в основном методе?

Вы можете попытаться отладить приложение, используя «удаленную отладку», хотя вы не будете отлаживать по сети, вы все равно можете использовать этот метод для перехвата точки останова, запущенной в командной строке в NetBeans.
Вот статья, в которой объясняется, как выполнять удаленную отладку с помощью NetBeans http://manikandanmv.wordpress.com/2009/09/24/debugging-java-applications-with-netbeans/

1 голос
/ 18 июня 2011

NetBeans по умолчанию использует вашу папку проекта в качестве рабочей папки.Это означает, что когда вы запускаете свою программу из консоли, вы должны создать компакт-диск C: \ java_libraries \ PrxJobCommunicator, а затем запустить java -jar "C: \ java_libraries \ PrxJobCommunicator \ dist \ PrxJobCommunicator.jar"

Если выше не получается, проверьте javaверсия, используемая в вашей командной строке.java -version Должен совпадать с тем, который используется netbeans.

Наконец, путь к библиотеке.Все зависимые банки помещены в папку dist?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...