Не найден основной при выполнении jar - PullRequest
0 голосов
/ 17 марта 2012

http://pastebin.com/1btVw8Cb

В приведенном выше коде есть два класса.

Итак, выше приведен мой код, который работает нормально, когда я запускаю Eclipse, отлично работает и в Netbeans.

Я пытаюсь создать отдельное приложение, файл JAR.

Ошибка, которую я получаю, когда удваиваю свою баночку:

Не удалось найти основной класс: NewJFrame. Программа будет закрыта. Из командной строки я получаю следующее:

E:\Java Programs\Eclipse Workspace\test3\src\test3>java testT.jar
Exception in thread "main" java.lang.NoClassDefFoundError: testT/jar
Caused by: java.lang.ClassNotFoundException: testT.jar
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: testT.jar.  Program will exit.

Я выполнил следующую команду: «Не удалось найти основной класс: XX. Программа завершит работу». Вот что я набираю в командной строке, чтобы создать банку:

E:\Java Programs\Eclipse Workspace\test3\src\test3>jar cfm MyJar.jar manifest.tx
t *.class SINGLE.TXT

http://imgur.com/a/wlCpc#SYR3L

Несколько снимков выше, которые я сделал, чтобы показать процесс.

Так что я думаю, что проблема может быть ошибка, когда я делаю Javac? Но он отлично работает и отлично работает в netbeans и eclipse> <Пожалуйста, помогите. </p>

Ответы [ 3 ]

2 голосов
/ 17 марта 2012

Вам необходимо использовать флаг -jar.

java -jar MyJar.jar

http://docs.oracle.com/javase/tutorial/deployment/jar/run.html говорит

Файлы JAR в качестве приложений

Вы можетезапускать JAR-упакованные приложения с интерпретатором Java.Основная команда:

java -jar jar-file

Флаг -jar сообщает интерпретатору, что приложение упаковано в формате файла JAR.Вы можете указать только один файл JAR, который должен содержать весь код приложения.

и http://docs.oracle.com/javase/tutorial/deployment/jar/modman.html объясняет, как поместить манифест в банку.

Параметр m указывает, что вы хотите объединить информацию из существующего файла в файл манифеста создаваемого вами JAR-файла.

0 голосов
/ 31 января 2014

Добавить

Main-class: Splash

часть файла манифеста. установите вместо основного имени класса Splash

Это сработает ...

0 голосов
/ 19 марта 2012

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

...