簡體   English   中英

使用ant構建文件創建jar的問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM