2012-02-26 2 views
2

Я создал проект в Netbeans 7.1 на своем нетбуке, который использует Windows XP. Я использовал команду «Очистить и построить», которая создала дистрибутивный JAR-файл в папке/dist. Когда я дважды щелкнул файл, он сработал.Распространяемый JAR не работает

Теперь я отправил всю папку проекта на свой рабочий стол, который использует Windows 7 Ultimate 64 бит. Когда я дважды нажал на исполняемый файл JAR, я получил сообщение об ошибке сказав: Не удалось найти или загрузить основной класс MyApp.jar

Я проверил файл манифеста и содержит имя основного класса. Разумеется, он был автогенерирован Netbeans.

Что происходит?

+5

Попробуйте запустить его из командной строки с помощью Java -jar MyApp.jar и понять, что говорят сообщение об ошибке и трассировка стеки. –

+0

Бит после 'Не удалось найти или загрузить основной класс..' обычно показывает полное имя класса основного класса. Почему ваше сообщение соответствует этому имени с именем Jar ('..myapp.jar')? 1) Если вы ошибочно набрали это, совет будет «Всегда копировать/вставлять сообщения об ошибках». 2) Если манифест фактически указывает основной класс как 'myapp.jar' - измените его. –

+0

Хорошо, я попробовал эту команду, и, похоже, я забыл скопировать DLL-файл. Он работает сейчас. благодаря! Однако у меня есть новая проблема. API, который я использую, - JIntellitype. Его readme говорит, что мне нужно либо скопировать DLL-файл в папку system32, либо добавить его в classpath. Он работает, когда я копирую его в system32. Но не работает, когда я добавляю его только к переменной окружения classpath. ЗАЧЕМ? – ritratt

ответ

2

Общая ошибка заключается в том, чтобы забыть также взять папку «layout». Если вы использовали специфические функции Netbeans, такие как привязки, в «dist» у вас есть банка, но также папка с именем «layout» в ней, и вы также должны скопировать ее с файлом jar и поместить ее на том же целевое место.

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

Обратите внимание, что вы можете легко узнать, имеете ли вы определенные функции. Откройте Netbeans и посмотрите в папку проекта. Там у вас будет 2 папки, «Исходные пакеты» и «Библиотеки». Проверьте библиотеки. Если у вас только JDK, все в порядке. Если у вас есть другие библиотеки, перечисленные ниже, то на диске будет дополнительная папка, и вам придется отправить ее с помощью Jar.

Надеется, что это помогает

+0

да, у меня есть другие вещи в библиотеках. Но я также отправляю их мне на рабочий стол. Как я уже сказал, я копирую папку проекта ENTIRE на свой рабочий стол. – ritratt

+0

Хорошо, я не был уверен, что вы «действительно» копируете всю папку. Поэтому мой ответ для вас совершенно бесполезен, но я позволяю ему, поскольку он может помочь некоторым другим людям. В вашем случае я видел, что вы нашли решение, поставив dll в нужное место. – HpTerm

Смежные вопросы