2012-03-28 66 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并在类路径中提及它们。