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

新手写jsp碰到的问题,关于cmd编译的问题,求教!
我写的是servlet
是public class A implments Servlet{...}
出了个问题:

情况1:

在编译前,我首先配置CLASSPATH:在系统环境变量里写了:
C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-ai.jar;
选择应用,确定!

接着编译:
C:\>D:
D:\>javac A.java
报错!找不到Servlet包!我震到了!
-------------

情况2:
于是,我换了种方法,直接在cmd里面编译,如下:
C:\>D:
D:\>javac -cp C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-ai.jar A.java
又报错了!
错误提示:用法: javac <options> <source files>
         -help 用于列出可能的选项
------------
情况3:
最后,我干脆把servlet-api.jar放在D:盘test文件夹(听一高手说的,防止cmd过滤空格)
然后D:\>javac D:\test\servlet-api.jar A.java
编译成功了!!!

--------------------
问题1:
字节码是编译出来了,但是,cmd过滤空格让我久久不能释怀,于是,我做了个实验,直接cmd里面
C:\>cd Program Files
结果:
C:\Program Files>
这说明,完全不存在过滤这一说!
那么,为什么我情况2会出错?

问题2:
情况1怎么错的?

------------------
希望高手们能给我详细的解读和解答!
在此谢过 ... 

 

------解决方案--------------------
我配置的CLASSPATH是
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
------解决方案--------------------
之前没看明白,

你这是servlet啊,,servlet单独怎么运行,,web服务器都没有,,,,
------解决方案--------------------
javac -cp "C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-ai.jar" A.java

试试这样,你的路径应当是一个整体,遇到空格自动回认为这个参数已经传完。
------解决方案--------------------
加了引号不行?我测试是可以的哦

引用:
Quote: 引用:

javac -cp "C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-ai.jar" A.java

试试这样,你的路径应当是一个整体,遇到空格自动回认为这个参数已经传完。


我就是你这么试的,但是,正如你所说,遇到空格自动认为参数已经传完,所以,才会出现我的错误“错误提示:用法: javac <options> <source files>”

所以,我想知道怎么避免有空格被过滤掉的情况!