我写的是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怎么错的?------------------
希望高手们能给我详细的解读和解答!
在此谢过 ...  

解决方案 »

  1.   

    我配置的CLASSPATH是
    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
      

  2.   


    恩,你能写一条完整的cmd不,我想参考下!
      

  3.   

    之前没看明白,你这是servlet啊,,servlet单独怎么运行,,web服务器都没有,,,,
      

  4.   

    javac -cp "C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-ai.jar" A.java试试这样,你的路径应当是一个整体,遇到空格自动回认为这个参数已经传完。
      

  5.   


    我就是你这么试的,但是,正如你所说,遇到空格自动认为参数已经传完,所以,才会出现我的错误“错误提示:用法: javac <options> <source files>”所以,我想知道怎么避免有空格被过滤掉的情况!
      

  6.   

    加了引号不行?我测试是可以的哦
    我就是你这么试的,但是,正如你所说,遇到空格自动认为参数已经传完,所以,才会出现我的错误“错误提示:用法: javac <options> <source files>”所以,我想知道怎么避免有空格被过滤掉的情况!
      

  7.   


    我就是你这么试的,但是,正如你所说,遇到空格自动认为参数已经传完,所以,才会出现我的错误“错误提示:用法: javac <options> <source files>”所以,我想知道怎么避免有空格被过滤掉的情况!看来,这是我OS的问题了,该解决了 ...