今
天差點栽在JAVA路徑設(shè)置上。
本來是想用ANT的。但是在命令行輸入ant,得到了這樣的提示:
Usage: java [-options] class [args...]
?????????? (to execute a class)
?? or? java [-options] -jar jarfile [args...]
?????????? (to execute a jar file)
?? ??? ......
?? ??? ......
奇怪。想來是剛重裝了系統(tǒng),JAVA_HOME沒有設(shè)好。于是檢查了一遍。問題依舊。那是不是虛擬機(jī)的問題?虛擬機(jī)缷掉重裝。折騰了半天,問題還是沒有解決。
逼得我只能靜下心來仔細(xì)想想問題所在了。ant的命令執(zhí)行的是一個批處理文件,在這個批處理中它會調(diào)用java.exe來運(yùn)行ant。出現(xiàn)這樣的問題,必定是java.exe的用法格式不對了。于是打開ant.bat,發(fā)現(xiàn)它的執(zhí)行有幾個分支。在每個分支上加上一句echo b1, echo b2,再次運(yùn)行,確定是哪個分支被執(zhí)行。被運(yùn)行的語句分支就是這個了:
: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。現(xiàn)在幾乎可以肯定是那一堆%%的變量里出了問題。拿出我們程序員百試不爽的絕招的時候了:打印每個變量。哈哈,問題出來了:
"D:\lib\apache-ant-1.6.5\\lib\ant-launcher.jar"
看到了嗎?"lib"前面居然是兩個反斜杠杠。OK。發(fā)現(xiàn)了問題所在,現(xiàn)在是解決的時候了。打開系統(tǒng)變量ANT_HOME,果然,它被設(shè)置為"D:\lib\apache-ant-1.6.5\"。把最后的反斜杠去掉。再試運(yùn)行ant,得到:
Buildfile: build.xml does not exist!
Build failed
ant可以正常運(yùn)行,問題解決了。
這個小小的問題前后用了我快一個小時的時間。但是最后真正發(fā)現(xiàn)并解決問題的時間也不過十分鐘而已。看來還是太浮躁了。如果一開始就用心去想,也不會有這么多的浪費(fèi)。想想,為什么那后面會多一個\,其實也很簡單,從WINDOWS的地址欄直接拷貝的咯。Windows啊......我知道不能怪Windows,但總要找個出氣桶,對不對?
自以為用了幾年JAVA已經(jīng)挺熟了,沒想到差點栽到最低級的失誤里了。反省反省。。。。。。
本來是想用ANT的。但是在命令行輸入ant,得到了這樣的提示:
Usage: java [-options] class [args...]
?????????? (to execute a class)
?? or? java [-options] -jar jarfile [args...]
?????????? (to execute a jar file)
?? ??? ......
?? ??? ......
奇怪。想來是剛重裝了系統(tǒng),JAVA_HOME沒有設(shè)好。于是檢查了一遍。問題依舊。那是不是虛擬機(jī)的問題?虛擬機(jī)缷掉重裝。折騰了半天,問題還是沒有解決。
逼得我只能靜下心來仔細(xì)想想問題所在了。ant的命令執(zhí)行的是一個批處理文件,在這個批處理中它會調(diào)用java.exe來運(yùn)行ant。出現(xiàn)這樣的問題,必定是java.exe的用法格式不對了。于是打開ant.bat,發(fā)現(xiàn)它的執(zhí)行有幾個分支。在每個分支上加上一句echo b1, echo b2,再次運(yùn)行,確定是哪個分支被執(zhí)行。被運(yùn)行的語句分支就是這個了:
: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。現(xiàn)在幾乎可以肯定是那一堆%%的變量里出了問題。拿出我們程序員百試不爽的絕招的時候了:打印每個變量。哈哈,問題出來了:
"D:\lib\apache-ant-1.6.5\\lib\ant-launcher.jar"
看到了嗎?"lib"前面居然是兩個反斜杠杠。OK。發(fā)現(xiàn)了問題所在,現(xiàn)在是解決的時候了。打開系統(tǒng)變量ANT_HOME,果然,它被設(shè)置為"D:\lib\apache-ant-1.6.5\"。把最后的反斜杠去掉。再試運(yùn)行ant,得到:
Buildfile: build.xml does not exist!
Build failed
ant可以正常運(yùn)行,問題解決了。
這個小小的問題前后用了我快一個小時的時間。但是最后真正發(fā)現(xiàn)并解決問題的時間也不過十分鐘而已。看來還是太浮躁了。如果一開始就用心去想,也不會有這么多的浪費(fèi)。想想,為什么那后面會多一個\,其實也很簡單,從WINDOWS的地址欄直接拷貝的咯。Windows啊......我知道不能怪Windows,但總要找個出氣桶,對不對?
自以為用了幾年JAVA已經(jīng)挺熟了,沒想到差點栽到最低級的失誤里了。反省反省。。。。。。