2013-07-08 2 views
3

Здравствуйте, я работаю над проектом в Eclipse и пытаюсь его экспортировать, поэтому я могу отправить его некоторым друзьям. Я не знаю, как экспортировать, поэтому я смотрел видео на YouTube, потому что это все, что я мог найти по этой теме. Видео сказано;Правильный экспорт моего проекта Eclipse в качестве Runnable Jar

  1. Файл> Экспорт
  2. Java> Runnable Jar
  3. Следующая
  4. Установите проект запуска конфигурации, экспорта местоположение и библиотеки конфигурации. (Я использую lwjgl и slick 2d), поэтому я выбрал «Пакет необходимых библиотек в сгенерированный JAR».

Затем я попытался запустить его на своем рабочем столе с двойного щелчка, ничего. Затем я попытался из командной строки с «Явой -jar my_jar_name.jar» и бросил эту ошибку:

Exception in thread "main" java.lang.reflect.InvocationTargetException 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58) 
Caused by: java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path 
     at java.lang.ClassLoader.loadLibrary(Unknown Source) 
     at java.lang.Runtime.loadLibrary0(Unknown Source) 
     at java.lang.System.loadLibrary(Unknown Source) 
     at org.lwjgl.Sys$1.run(Sys.java:73) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at org.lwjgl.Sys.doLoadLibrary(Sys.java:66) 
     at org.lwjgl.Sys.loadLibrary(Sys.java:95) 
     at org.lwjgl.Sys.<clinit>(Sys.java:112) 
     at org.lwjgl.opengl.Display.<clinit>(Display.java:135) 
     at org.newdawn.slick.AppGameContainer$1.run(AppGameContainer.java:39) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at org.newdawn.slick.AppGameContainer.<clinit>(AppGameContainer.java:36) 
     at javaGame.Game.main(Game.java:37) 
     ... 5 more 

Вот мой основной метод в моем проекте:

FYI: Первая линия линия # 34 и последним является # 43

public static void main(String[] args) { 
    AppGameContainer appgc; 
    try{ 
     appgc = new AppGameContainer(new Game(gamename)); 
     appgc.setDisplayMode(appgc.getScreenWidth(), appgc.getScreenHeight(), true); 
     appgc.start(); 
    }catch(SlickException e){ 
     e.printStackTrace(); 
    } 
} 

Если необходимо узнать больше информации, пожалуйста, дайте мне знать!
P.S. Это первый проект Java в Eclipse, который я хотел экспортировать, поэтому я не делал этого раньше.

+0

ли приложение работать в затмении ОК? У вас, должно быть, отсутствует кувшин где-то – OldProgrammer

+0

Да, он работает безупречно в затмении, если мне не хватает кувшина, это не то, что я заметил. – WillB

+0

Используйте форматирование кода для кода, ввода/вывода и структурированных документов, таких как HTML или XML. Для этого выберите образец и нажмите кнопку '{}' над формой отправки сообщений/редактирования. –

ответ

1

Я понял это после того, как ссылки на другой переполнения стека вопрос, который я только нашел несколько минут назад. Я использовал JarSplicer для создания Fat Jar, который включал туземцев в мою банку, и он отлично работал. Теперь я могу запустить свое приложение, дважды щелкнув по нему, и он работает так же, как в Eclipse, спасибо за вашу поддержку!

Exporting eclipse project to jar

1

Вы можете запустить баночку так:

java -jar my_jar_name.jar main_class_name 

main_class_name это имя класса, который содержит ваш основной метод

Вы также можете проверить, если вы успешно создали баночку со всеми зависимостями, вот как я добавляю библиотечные банки:

Выберите проект и выполните следующие действия:

Build Path -> Configure Build Path... -> Select Libraries tab -> Add External JARS 

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

Build Path -> Configure Build Path... -> Select Libraries tab -> Add JARS 
+0

Я пробовал это и получил ту же ошибку, что и выше. – WillB

+0

У меня уже было все это. Я на самом деле следовал учебнику по этому вопросу от thenewboston. – WillB

1

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

http://www.lwjgl.org/wiki/index.php?title=Setting_Up_LWJGL_with_Eclipse

запустить приложение, которое вы должны

java -Djava.library.path="<path to lwjgl native files>" -jar my_jar_name.jar 
+0

Такая же ошибка, мой проект (игра) называется Homefront Defense, поэтому я использовал это в командной строке, потому что он одинаковый в свойствах пути построения lwjgl: java -Djava.library.path = "Homefront Defense/lib/natives/windows" -jar HomefrontDefense_Alpha0.1.jar – WillB