2010-12-13 130 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