Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jar文件没有';不要在项目文件夹外工作_Java_Jar - Fatal编程技术网

Java Jar文件没有';不要在项目文件夹外工作

Java Jar文件没有';不要在项目文件夹外工作,java,jar,Java,Jar,我的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.<

我的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
C:\Users\Computer>java-jar SG.jar
线程“AWT-EventQueue-0”java.lang.NoClassDefFoundError中出现异常:org/hiber
nate/cfg/AnnotationConfiguration
PessoaView.(PessoaView.java:27)
at view.PessoaView$7.run(PessoaView.java:291)
在java.awt.event.InvocationEvent.dispatch(未知源)处
位于java.awt.EventQueue.dispatchEventImpl(未知源)
位于java.awt.EventQueue.access$500(未知源)
在java.awt.EventQueue$3.run处(未知源)
在java.awt.EventQueue$3.run处(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(未知)
(行政长官)
位于java.awt.EventQueue.dispatchEvent(未知源)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(未知源)
位于java.awt.EventDispatchThread.pumpEventsForFilter(未知源)
位于java.awt.EventDispatchThread.pumpEventsForHierarchy(未知源)
位于java.awt.EventDispatchThread.pumpEvents(未知源)
位于java.awt.EventDispatchThread.pumpEvents(未知源)
位于java.awt.EventDispatchThread.run(未知源)
原因:java.lang.ClassNotFoundException:org.hibernate.cfg.AnnotationConfigu
定额
位于java.net.URLClassLoader.findClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于sun.misc.Launcher$AppClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
... 还有16个
与其他“窗口”相同,因为我的应用程序有许多菜单项。我已经提取了jar文件,只是为了检查,那里没有lib文件夹。我认为应该这样。 hibernate所需的jar文件和所有其他所需文件都在lib文件夹中。有人能帮忙吗?谢谢。。 下面是一个类似问题的链接:


您的问题是,您的jar不包含执行所需的依赖项

您的程序需要hibernate JAR。可以使用maven使用当前jar编译所有依赖项

试试这个:

Jar文件不能包含任何其他Jar文件。 有些工具,比如ant,可以在一个罐子里装几个罐子,你可以看看ant。
另一种方法是在运行过程中使用
java-cp
直接指定库的类路径,而不是
java-jar

,您可以在运行过程中使用java-cp/

直接指定所需库的类路径,“除非我将其放在与lib文件夹相同的目录中”-是的,这就是它的工作方式。您的jar文件可能有一个清单条目,其中说明了所有依赖jar(类路径)的位置。您“可以”查看一下,如我将检查您所说的,谢谢。