日期:2014-05-20  浏览次数:20748 次

bat 执行 java
最近学习这个,可是一直弄不清,来求教。
目录:
----------bin
  ----------run.bat
----------lib
----------src
----------log.txt
都是平行的,bin里面放的是编译好的.class文件,bat也在bin里面。

按照如下的run.bat执行:
SET JAVA_HOME=e:\java\jdk1.6\bin\java

SET CLASSPATH=./.lib\classes12.jar;.lib\jdom.jar;.lib\xercesImpl.jar;.lib\xmlParserAPIs.jar;
java ArrearsTimer 10
pause

报错:
Exception in thread "main" java.lang.NoClassDefFoundError:ArrearsTimer

注:ArrearsTimer是要第一个执行的java文件

网上看了些资料,搞不清楚这样的BAT文件的参数的具体意思,应该是自己写的路径有问题。
希望谁能帮助一下,纠正下BAT的写法,谢谢






------解决方案--------------------
ArrearsTimer里面有package么?
如果有的话需要 java ooxx.ArrearsTimer

还有文件名需要与里面的class名一样,包括大小写。。。
------解决方案--------------------
你要确定你的classpath路径中包含有ArrearsTimer
SET CLASSPATH=./.lib\classes12.jar;.lib\jdom.jar;.lib\xercesImpl.jar;.lib\xmlParserAPIs.jar;
你的ArrearsTime在哪个路径中?

------解决方案--------------------
你可以写个简单的类试试先嘛,就是单独的一个类
------解决方案--------------------
.是代表当前目录,你的classpath里并没有设置
SET CLASSPATH=./.lib\classes12.jar;.lib\jdom.jar;.lib\xercesImpl.jar;.lib\xmlParserAPIs.jar;

SET CLASSPATH=.;./.lib\classes12.jar;.lib\jdom.jar;.lib\xercesImpl.jar;.lib\xmlParserAPIs.jar;
注意红色部分,windows系统每个路径要用;分开
------解决方案--------------------
探讨
是不是要把所有的.class打成jar包才可以啊?我看到有人这么做的