私の職場には、build.xml ファイルを使用して JAR としてエクスポートされる Eclipse Java プロジェクトがあります。
jar は正常にハードディスクに書き出されていますが、それを機能させるには、jar のすべての内容を jar があるフォルダーに抽出し、それをダブルクリックして作成する必要があることがわかりました。走る。
元 :
Jar の場所: C:\MyTestFolder\App.jar
すべてのコンテンツを C:\MyTestFolder に解凍し、JAR をダブルクリックして正常に実行する必要があります。
それ以外の場合、jar を直接ダブルクリックしても何も起こりません。
コマンド プロンプトから jar を呼び出すと、次のエラーが表示されます。
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at application.MainView.<init>(MainView.java:49)
at application.MainView$1.run(MainView.java:65)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 14 more
このエラーは、クラスパス (MANIFEST.MF ファイル内) に log4j があるにもかかわらず発生します。同じ解決策を知りたいです。前もって感謝します。