编译servlet给出错误消息

时间:2012-11-23 02:56:55

标签: java servlets

我运行以下命令从HeadFirst Servlets和JSP book编译名为BeerSelect.java的servlet。

D:\ Apache Tomcat \ apache-tomcat-5.5.36 \ apache-tomcat-5.5.36 \ webapps \ Coffee> javac -classpath / common / lib servlet-api.jar:classes:-d classes src / com / example / web / B eerSelect.java

我的servlet-api.jar位于D:\Apache Tomcat\apache-tomcat-5.5.36\apache-tomcat-5.5.36\common\lib

MESSAGE

javac: invalid flag: servlet-api.jar:classes:
Usage: javac <options> <source files> use -help for a list of possible options

无法理解如何修复此命令并编译servlet。这是第一次新建servlet。

然后我将命令改为

D:\Apache Tomcat\apache-tomcat-5.5.36\apache-tomcat-5.5.36\webapps\Coffee\WEB-IN
F\src\com\example\web>javac -classpath "D:\Apache Tomcat\apache-tomcat-5.5.36\ap
ache-tomcat-5.5.36\common\lib\servlet-api.jar";classes  BeerSelect.java

MESSAGE

BeerSelect.java:3: package com.example.model does not exist
import com.example.model.*;
^
BeerSelect.java:15: cannot find symbol
symbol  : class BeerExpert
location: class com.example.web.BeerSelect
        BeerExpert be = new BeerExpert();
        ^
BeerSelect.java:15: cannot find symbol
symbol  : class BeerExpert
location: class com.example.web.BeerSelect
        BeerExpert be = new BeerExpert();
                            ^
BeerSelect.java:32: cannot find symbol
symbol  : variable out
location: class com.example.web.BeerSelect
         out.println("<br>try: " + it.next());
         ^
4 errors

为什么找不到com.example.model包?

IMAGE enter image description here

2 个答案:

答案 0 :(得分:3)

您的命令看起来有三个问题:额外的空格,Unix风格的路径名以及缺少其他Java源文件。请尝试以下方法:

javac -classpath "D:\Apache Tomcat\apache-tomcat-5.5.36\apache-tomcat-5.5.36\common\lib\servlet-api.jar";classes -d classes src\com\example\web\*.java src\com\example\model\*.java

我删除了额外的空格,将Unix路径转换为Windows路径,将类路径分隔符从Unix风格':'更改为Windows风格';',并添加了其他Java源代码 - 将它们全部编译在一起应该解决你的前三个编译器错误。

至于最后一次编译错误,这似乎是一个真正的源代码错误 - 尝试将System.添加到out.println("<br>try: " + it.next());行。 (它也可以通过静态导入来解决,但这将是非常规的。)

答案 1 :(得分:0)

D:\Apache Tomcat\apache-tomcat-5.5.36\apache-tomcat-5.5.36\webapps\Coffee>javac -classpath "D:\Apache Tomcat\apache-tomcat-5.5.36\apache-tomcat-5.5.36\common\lib\servlet-api.jar";"D:\Apache Tomcat\apache-tomcat-5.5.36\apache-tomcat-5.5.36\webapps\Coffee\WEB-INF\src" WEB-INF\src\com\example\web\BeerSelect.java  

此命令可以工作并编译类BeerSelect.java。