Я использую Eclipse, и у меня довольно простой проект, я сохраню вам код.Он работает просто отлично и работает очень хорошо.В нем два файла .java, на самом деле дерево проекта выглядит так:
**mewLog**
- src/ (dir)
mewlog/ (package)
- MLGlobal.java
- MLMain.java (surprise, this one contains main and some initialization methods)
mlGUI/ (package)
- this one is empty (empty package!)
Итак, я иду в Файл -> Экспорт.Я следую за действиями как обычно, и это делает мой .JAR файл просто без каких-либо предупреждений или проблем.Хорошо!
Пока все хорошо, можно сказать, что я спешу к своему терминалу, перехожу в папку, в которую экспортировал мой флягу, и выполняю ее следующим образом:
java -jar mewLog_macosx-x86.jar
BAM!Здесь все идет не так, терминал выдает мне следующий вывод:
Exception in thread "main" java.lang.NoClassDefFoundError: MLMain
Caused by: java.lang.ClassNotFoundException: MLMain
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:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
ОК.Прежде чем сказать: «О, черт возьми, ты должен добавить путь к классу».Я пытался, это не работает, просто дает мне "BLAH" независимо от того, что я делаю.
Я использую Mac OS X Snow Leopard.
Вывод из jar -tf mewLog_MacOSX-x86.jar
jar -tf mewLog_MacOSX-x86.jar
META-INF/MANIFEST.MF
.project
.classpath
mewlog/MLGlobal.class
mewlog/MLMain.class