当我通过执行命令java rmiserver.LightBulbServer.class
从终端运行我的程序时,我得到 NoClassDefFoundError :
Exception in thread "main" java.lang.NoClassDefFoundError: rmiserver/LightBulbSe
rver/class
Caused by: java.lang.ClassNotFoundException: rmiserver.LightBulbServer.class
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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: rmiserver.LightBulbServer.class. Program will ex
it.
答案 0 :(得分:1)
您最有可能像这样运行应用程序:
java rmiserver.LightBulbServer.class
运行程序时不应添加.class
扩展名;仅使用类的名称:
java rmiserver.LightBulbServer
答案 1 :(得分:1)
您正在运行命令:
java rmiserver.LightBulbServer.class
当你应该跑步时
java rmiserver.LightBulbServer
答案 2 :(得分:0)
在Java可以对系统执行任何操作之前,您需要设置一些变量。这就是为什么有些人创建批处理文件来运行他们的Java程序而不修改系统变量。
但这通常是因为你没有设置 CLASSPATH 。
例如,以下内容可能有效,也可能无效:
set JAVA_HOME=C:\jdk1.5.0_06
set PATH=C:\jdk1.5.0_06\bin;C:\Windows;C:\Windows\System32
set CLASSPATH=.
java -jar myprogram.jar
或尝试此命令:
java -jar myprogram.jar -classpath .