2010-12-13 168 views
0

当我运行myprogram.class我得到一个错误,因为如下因素:运行Java应用程序

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. 
+1

这是一件坏事,你得到一个例外。有什么你想问的,因为你知道这是一个编程相关的问答网站:你问一个问题,你会得到一个答案? – 2010-12-13 20:02:58

+2

发布你的命令行(但我100%肯定我已经知道你的问题,.class不应该包括在内) – KevinDTimm 2010-12-13 20:06:51

+0

@Kevin同样的事情我在想 – user489041 2010-12-13 20:08:00

回答

1

你最有可能运行的应用程序是这样的:

java rmiserver.LightBulbServer.class 

你不应该添加在运行程序时使用.class扩展名;只使用该类的名称:

java rmiserver.LightBulbServer 
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 . 
1

您在运行此命令:

java rmiserver.LightBulbServer.class 

当你应该跑步时

java rmiserver.LightBulbServer