我们的都知道,当前的IDE环境非常智能。我们只需要用代码表达出具体逻辑,编译的工作,链接工作等,都能被IDE自动化处理。
然而,当我们离开了IDE,在COMMAND环境下,如何编译呢?
现在以我个人的一个代码为例,略微陈述一个比较特殊的案例:
案例描述:
在moreservlets包内有一个.java文件(需要使用servlet-api.jar)。我欲用命令行编译,但是出现问题。
命令行内容 为 :
cd ../..
javac -cp %CLASSPATH%;./WEB-INF/lib/ -d WEB-INF/classes/ moreservlets/ServletUtilities.java
pause
出现的
问题如下:
无效的标记:(x86)\Java\jdk1.7.0_67\lib\dt.jar;......
环境配置:
OS:WIN7 64bit
JDK:
环境变量配置情况:
原因分析:
由于OS本身的路径包含了空格,而命令行是在空格处自动处理,默认前一个字段已经结束。 但有一个办法可以避免这种情况: 在有空格的字符串两端加 英文状态下的 双引号。
cd ../..
javac -cp "%CLASSPATH%;./WEB-INF/lib/servlet-api.jar" -d WEB-INF/classes/ moreservlets/ServletUtilities.java
pause
即可编译成功。