xc8708 发表于 2013-2-3 10:27:32

使用javac命令行手动编译servlet小程序

虽然现在现在关于java的IDE已经非常的成熟了,但是我还是想从最原始的方式开始学习java,于是这次使用了记事本和cmd命令行方式编译一个小的servlet程序。
遇到的麻烦最郁闷的就是在编译servlet时候,需要使用到Tomcat的servlet-api.jar的类包。这个包一般位于Tomcat\lib目录下,javac -classpath时候将这个类包引用。但是问题来了,每当我输入命令符进行编译时:
javac -classpath E:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar -d classes E:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\Beer-v1\src\com\example\web\BeerSelect.java
就会提示:javac: 无效的标记: Files\Apache
上网查询了许久,都说是环境变量配置错误了。但是平时使用javac的时候是正常的,应该不是环境变量的问题。后来我将jar的包复制到E:\的根目录下,这次可以正常运行了。弄了许久总要发现问题原来是,TomCat的安装目录尽量不要有空格,否则会出现各种错误。最后得出的
结论是:
不要把 Tomcat 装在带有空格的路径之中,因为命令行的参数是使用空格分隔的

接下来我只好将代码和servlet-api.jar复制到E盘根目录下,后来终于编译成功了:
>javac -d classes -classpath e:\servlet-api.jar -sourcepath e:\Beer-v1\src e:\Beer-v1\src\com\example\web\BeerSelect.java
其中BeerSelect.java为servlet文件,引用了包-classpath e:\servlet-api.jar,这个文件还依赖了一个模型类,位于\Beer-v1\src中。具体方法都是查看的附件里面的内容。

附件(引自http://blog.csdn.net/caesarzou/article/details/5462189):
javac参数(-classpath, -sourcepath)详解

<div class="quote_title">引用
页: [1]
查看完整版本: 使用javac命令行手动编译servlet小程序