Posted on 2006-05-29 07:28
shaofan 阅读(2585)
评论(3) 编辑 收藏 所属分类:
Java
今
天差点栽在JAVA路径设置上。
本来是想用ANT的。但是在命令行输入ant,得到了这样的提示:
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
......
......
奇怪。想来是刚重装了系统,JAVA_HOME没有设好。于是检查了一遍。问题依旧。那是不是虚拟机的问题?虚拟机缷掉重装。折腾了半天,问题还是没有解决。
逼得我只能静下心来仔细想想问题所在了。ant的命令执行的是一个批处理文件,在这个批处理中它会调用java.exe来运行ant。出现这样的问题,必定是java.exe的用法格式不对了。于是打开ant.bat,发现它的执行有几个分支。在每个分支上加上一句echo b1, echo b2,再次运行,确定是哪个分支被执行。被运行的语句分支就是这个了:
:runAntWithClasspath
"%_JAVACMD%" %ANT_OPTS% -classpath "%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" org.apache.tools.ant.launch.Launcher %ANT_ARGS% -cp "%CLASSPATH%" %ANT_CMD_LINE_ARGS%
goto end
OK。现在几乎可以肯定是那一堆%%的变量里出了问题。拿出我们程序员百试不爽的绝招的时候了:打印每个变量。哈哈,问题出来了:
"D:\lib\apache-ant-1.6.5\\lib\ant-launcher.jar"
看到了吗?"lib"前面居然是两个反斜杠杠。OK。发现了问题所在,现在是解决的时候了。打开系统变量ANT_HOME,果然,它被设置为"D:\lib\apache-ant-1.6.5\"。把最后的反斜杠去掉。再试运行ant,得到:
Buildfile: build.xml does not exist!
Build failed
ant可以正常运行,问题解决了。
这个小小的问题前后用了我快一个小时的时间。但是最后真正发现并解决问题的时间也不过十分钟而已。看来还是太浮躁了。如果一开始就用心去想,也不会有这么多的浪费。想想,为什么那后面会多一个\,其实也很简单,从WINDOWS的地址栏直接拷贝的咯。Windows啊......我知道不能怪Windows,但总要找个出气桶,对不对?
自以为用了几年JAVA已经挺熟了,没想到差点栽到最低级的失误里了。反省反省。。。。。。