[英]Issues with jar creation using ant build file
在我的WORK PLACE處,我有一個Eclipse Java項目,該項目將使用build.xml文件導出為JAR。
該jar已成功寫出到硬盤上,但是我發現為了使其能夠正常工作,我必須將jar的所有內容提取到jar所在的文件夾中,然后雙擊將其制成跑。
例如:
Jar的位置:C:\\ MyTestFolder \\ App.jar
我必須將所有內容解壓縮到C:\\ MyTestFolder,然后雙擊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
盡管類路徑上有log4j(在MANIFEST.MF文件中),仍然存在此錯誤。 我想了解相同的解決方案。 提前致謝。
似乎jar無法在類路徑中找到依賴的jar。
您需要在主jar的清單文件中添加所有從屬jar文件的路徑。
之后,您將能夠運行jar文件而無需提取內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.