我試圖導出一個使用hibernate的java獨立類。這是一個非常簡單的讀取/插入程序。我堅持這個錯誤NoClassDefFoundError休眠條件導出jar
C:\Users\Admin\Desktop>java -jar ImportDatiMeteo2.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/criteri
on/Criterion
at openplan.openergy.standalone.ImportDati.main(ImportDati.java:24)
Caused by: java.lang.ClassNotFoundException: org.hibernate.criterion.Criterion
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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)
... 1 more
我在想這可能是一個清單文件問題,所以我檢查。這對我來說似乎沒問題。
Manifest-Version: 1.0
Class-Path: lib/antlr-2.7.6rc1.jar lib/asm-attrs.jar lib/asm.jar
lib/c3p0-0.8.5.2.jar lib/cglib-2.1.3.jar lib/cleanimports.jar
lib/commons-collections-2.1.1.jar lib/commons-logging-1.0.4.jar lib/concurrent-1.3.2.jar
lib/connector.jar lib/dom4j-1.6.1.jar lib/ehcache-1.1.jar lib/hibernate3.jar
lib/jaas.jar lib/jacc-1_0-fr.jar lib/jaxen-1.1-beta-7.jar
lib/jdbc2_0-stdext.jar lib/jgroups-2.2.7.jar lib/jta.jar lib/log4j-1.2.11.jar
lib/log4j-1.2.9.jar lib/oscache-2.1.jar lib/proxool-0.8.3.jar
lib/swarmcache-1.0rc2.jar lib/xerces-2.6.2.jar lib/xml-apis.jar
Created-By: 1.6.0_21 (Sun Microsystems Inc.)
Main-Class: openplan.openergy.standalone.ImportDati
在我所有的Eclipse項目的正常工作,沒有人知道問題出在哪裏?
你需要重新將Hibernate jar包裝到你的'ImportDatiMeteo2.jar' –
你能更具體嗎? – Medioman92
我沒有足夠的細節,關於你想要什麼以及你做了什麼。通常JAR是一個檔案,其中所有需要的'* .class'文件都是以壓縮格式存放的。您可以像7-zip一樣檢查jar內容。你應該在你的jar中有'org/hibernate/criterion/Criterion.class',以便java classloader可以找到它。你的jar包裏有這個文件嗎?如果你沒有,那麼你的jar不是獨立的,它需要hibernate jars在classpath中,在java命令行或系統環境中設置。 –