【发布时间】:2015-04-23 13:01:23
【问题描述】:
我的 jar 文件不能在项目文件夹之外工作,除非我将它放在与 lib 文件夹相同的目录中。当我从命令行运行 jar 时,我得到了这个:
C:\Users\Computer>java -jar SG.jar
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/hiber
nate/cfg/AnnotationConfiguration
at view.PessoaView.<init>(PessoaView.java:27)
at view.PessoaView$7.run(PessoaView.java:291)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.hibernate.cfg.AnnotationConfigu
ration
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 16 more
与其他“窗口”相同,因为我的应用程序有很多菜单项。我已经提取了jar文件,只是为了检查并且那里没有lib文件夹。我相信它应该。 hibernate 所需的 jar 文件和所有其他所需的 jar 文件都在 lib 文件夹中。有人可以帮忙吗?谢谢.. 这是一个类似问题的链接:
【问题讨论】:
-
“除非我把它放在与 lib 文件夹相同的目录中” - 是的,它就是这样工作的。您的 jar 文件可能有一个清单条目,其中说明了所有依赖 jar 的位置(类路径)
-
你“可以”看看类似One-Jar
-
我会检查你说的,谢谢。