Проектът на Eclipse се експортира в jar

Проверих вече отговорените въпроси, които имат почти същата тема като този въпрос, но нито един от отговорените веднъж не успя да реши проблема ми.

Търся онлайн от около 4 часа и опитах толкова много различни неща, за да реша проблема си.

Опитвам се да направя игра на Pong в Java и сега исках да експортирам проекта си, за да мога да го изпратя на някой приятел, за да може той да го опита.

Използвам LWJGL за този проект, така че имам някои буркани, добавени към референтните библиотеки, а LWJGL.jar има добавени Windows natives, които са включени в папката на project lib. Ето изображение на програмата за преглед на проекти:

Причината да публикувам това изображение е, за да добиете представа, че имам всички библиотеки в проекта, както и местни жители, необходими за изпълнението на проекта.

Докато четях защо бурканът не работи, прочетох също, че имате нужда от файл Manifest.mf, така че създадох такъв и вътре в този файл с манифест имам следния текст:

Manifest-Version: 1.0
Main-Class: jGame.Main
Class-Path: lib/jars/asm-debug-all.jar lib/jars/jinput.jar lib/jars/lwjgl.jar lib/jars/izma.jar lib/jars/slick.jar

Също така 2 празни реда под Class-Path, тъй като чух, че трябва да имате това.

Този проект работи добре, докато го изпълнявам в eclipse, но когато експортирам проекта с runnable jar или jar wizard в eclipse, той не стартира, когато щракна два пъти върху .jar файла, така че влязох в cmd и използвах тази команда:

java.exe -jar JGame.jar

И беше показано следното съобщение:

Проверих най-малко 10 пъти дали съм предоставил правилния път за главния клас.. И вече не знам какво да правя. В съветника за затъмнение се опитвах както да експортирам текущ буркан, така и да експортирам нормален буркан, но нито едно от двете не работи. Също така в съветниците съм избрал да експортирам нормален буркан, който не може да се изпълнява, тъй като когато избера runnable, библиотеките се объркват, защото папката lib се заменя.

Опитах се да отворя jar файла като архив и получих следното:


person Rakso    schedule 21.04.2013    source източник
comment
опитайте да отворите jar файл като архив и погледнете, хвърлете го. И ако не намерите вашите библиотеки, просто ги добавете в същата папка, където сте поставили вашия jar файл   -  person Aleksei Bulgak    schedule 21.04.2013
comment
Актуализиране на основната публикация с изображение на съдържанието на архива @AlekseiBulgak   -  person Rakso    schedule 21.04.2013
comment
Объркан съм. Не знам какъв е проблема   -  person Aleksei Bulgak    schedule 21.04.2013
comment
@AlekseiBulgak проблемът е грешката, която се казва в cmd изображенията.. Не мога да стартирам буркана, който искам да създам.   -  person Rakso    schedule 21.04.2013
comment
разбирам това но не мога да разбера защо не намира клас   -  person Aleksei Bulgak    schedule 21.04.2013
comment
@AlekseiBulgak Да, това също се опитвам да разбера и за това имам нужда от помощ :)   -  person Rakso    schedule 21.04.2013


Отговори (1)


В опит да използвам JarSplice успях да разреша проблема.

След като прочетох това:

Няма да работи по начина, по който се опитвате да го направите в момента, тъй като трябва да имате собствените файлове отстрани на буркана и да ги посочите чрез параметъра „-Djava.library.path“.

Ако искате само един буркан и искате да избегнете проблемите с командния ред и собствените файлове, използвайте инструмента JarSplice. JarSplice е лесен за използване и автоматично ще обработва собствените файлови неща вместо вас.

1) Просто експортирайте вашия проект (клас и ресурси) в буркан (по-лесно е просто да го направите чрез вашата IDE).

2) След това стартирайте JarSplice, добавете всички буркани, от които се нуждаете, към раздела буркани (буркан с вашето приложение, lwjgl.jar и всеки друг външен буркан, който използвате).

3) След това в раздела Natives добавете всички Native файлове (windows *.dll, linux *.so, mac *.dylib & *.jnilib).

4) В раздела клас добавете своя основен клас. След това създайте своя буркан.

След това можете да стартирате този буркан само като щракнете двукратно върху него (или ако желаете чрез командния ред, като използвате „java -jar yourapp.jar“).

Намерих това решение от тази връзка: Не мога да стартирам .jar файл (с помощта на LWJGL)

Причината, поради която не проработи първия път, беше, че не включих действителния .jar файл, който беше експортиран от eclipse, докато използвах JarSplice.

person Rakso    schedule 21.04.2013