Экспорт проекта eclipse в банку

Я проверил уже отвеченные вопросы, которые имеют почти ту же тему, что и этот вопрос, но ни один из ответов не смог решить мою проблему.

Я искал в Интернете около 4 часов и пробовал так много разных вещей, чтобы решить мою проблему.

Я пытаюсь сделать игру Pong на Java, и теперь я хотел экспортировать свой проект, чтобы я мог отправить его какому-нибудь другу, чтобы он мог попробовать.

Я использую LWJGL для этого проекта, поэтому у меня есть несколько jar-файлов, добавленных в упомянутые библиотеки, а в LWJGL.jar добавлены родные элементы Windows, которые включены в папку lib проектов. Вот изображение вьювера проекта:

Причина, по которой я публикую это изображение, заключается в том, чтобы вы поняли, что у меня есть все библиотеки внутри проекта, а также нативы, необходимые для запуска проекта.

Читая о том, почему jar не работает, я также прочитал, что вам нужен файл 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, но когда я экспортирую проект с помощью запускаемого jar или мастера jar в eclipse, он не запускается, когда я дважды щелкаю файл .jar, поэтому я зашел в cmd и использовал эту команду:

java.exe -jar JGame.jar

И было показано следующее сообщение:

Я проверил по крайней мере 10 раз, что указал правильный путь для основного класса. И я больше не знаю, что делать. В мастере eclipse я пытался экспортировать исполняемую банку и экспортировать обычную банку, но ни один из них не работает. Также в мастерах я выбрал экспорт обычного jar, который не может быть запущен, поскольку, когда я выбираю 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, добавьте все нужные вам банки на вкладку jar (ваш jar приложения, lwjgl.jar и любой другой внешний jar, который вы используете).

3) Затем на вкладке родных добавьте все родные файлы (Windows *.dll, linux *.so, mac *.dylib и *.jnilib).

4) На вкладке класса добавьте свой основной класс. Затем создайте свою банку.

Затем вы можете запустить этот jar, просто дважды щелкнув его (или, если хотите, через командную строку, используя «java -jar yourapp.jar»).

Я нашел это решение по этой ссылке: Не удается запустить файл .jar (с использованием LWJGL)< /а>

Причина, по которой это не сработало в первый раз, заключалась в том, что я не включил фактический файл .jar, который был экспортирован из eclipse при использовании JarSplice.

person Rakso    schedule 21.04.2013