我是新的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