我是新的JAVA,並試圖找不出有什麼錯我創建的項目。JAVA:無法運行jar文件
我創建了一個Eclipse Java項目,並導出一個jar(不運行的JAR)。 我在導出時未勾選.project和.classpath文件選項。現在,我試圖運行罐子和獲得的NoClassDefFoundError:
我粘貼命令和下面的錯誤:現在
C:\Users\Anjali>"C:\Program Files\Java\jre7\bin\java.exe" -classpath D:\Web\Hbas
eGateway\bin;C:\Users\Anjali\Downloads\Hbase\hbase-0.94.5-security.jar;C:\Users\
Anjali\Downloads\Hbase\lib\hadoop-core-1.0.4.jar;C:\Users\Anjali\Downloads\Hbase
\py4j0.7.jar -jar D:\Web\HbaseGateway\bin\HBaseGateway.jar
Exception in thread "main" java.lang.NoClassDefFoundError: py4j/GatewayServer
at hbase.gateway.HBaseGatewayEntryPoint.main(HBaseGatewayEntryPoint.java
:22)
Caused by: java.lang.ClassNotFoundException: py4j.GatewayServer
at java.net.URLClassLoader$1.run(Unknown Source)
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
,有趣的是,我可以在使用運行的主類下面的命令。 在下面的命令中,我刪除了-jar開關並將主類傳遞給java.exe。
C:\Users\Anjali>"C:\Program Files\Java\jre7\bin\java.exe" -classpath D:\Web\Hbas
eGateway\bin;C:\Users\Anjali\Downloads\Hbase\hbase-0.94.5-security.jar;C:\Users\
Anjali\Downloads\Hbase\lib\hadoop-core-1.0.4.jar;C:\Users\Anjali\Downloads\Hbase
\py4j0.7.jar hbase.gateway.HBaseGatewayEntryPoint
Gateway Server Started
爲什麼NoClassDefFoundError
被拋出?我在這裏錯過了什麼嗎?
我確實有與主類爲'hbase.gateway.HBaseGatewayEntryPoint' ...但我沒有安裝JDK清單文件。有關係嗎? – Mayank
理想情況下不應該。嘗試運行沒有任何選項的java命令。檢查幫助是否顯示-jar選項。 – JRR
是的。幫助顯示jar。我證實,它並不需要JDK :) – Mayank