2012-03-28 100 views
1

我在寫一個批處理文件來編譯和運行java。以下是代碼。我可以編譯它。問題是,它可以運行java類。它會給我的錯誤批處理運行java,找不到類

Exception in thread "main" java.lang.NoClassDefFoundError: com/Sender 

這裏在Windows代碼

set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_25 
set SOURCE=./src 
set LIB=./lib 
set BIN=./bin 

set CLASSPATH=%LIB%/* 

set CURRENTDIR=%CD% 
echo %CURRENTDIR% 

"%JAVA_HOME%"\bin\javac -d %BIN% -classpath "%CLASSPATH%" "%SOURCE%/com/Sender.java" 
"%JAVA_HOME%"\bin\java -classpath "%CLASSPATH%:%BIN%" com.Sender %CURRENTDIR% 
pause 
+0

說到兩個命令,我會轉向Ant或IDE。 – 2012-03-28 13:11:33

回答

2

您需要通過;(分號)到classpath元素分開,而不是由:(冒號)。冒號用於* nix系統。

+0

正確,非常感謝。 – user595234 2012-03-28 13:20:19

0

您的CLASSPATH不正確。所得到的com/Sender.class類不能從您提到的路徑中引用。更好的方法是生成所有類文件,將它們打包成jar並在類路徑中提及它們。