我想在NetBeans之外编译servlet。我创建了一个简单的Hello World servlet,它产生了这些编译器错误。
import javax.servlet.ServletException;
^
ServletTester.java:4: package javax.servlet.http does not exist
import javax.servlet.http.*;
^
ServletTester.java:6: cannot find symbol
symbol: class HttpServlet
public class ServletTester extends HttpServlet {
^
ServletTester.java:7: cannot find symbol
symbol : class HttpServletRequest
location: class ServletTester
protected void processRequest(HttpServletRequest request, HttpServletResponse response) t
^
ServletTester.java:7: cannot find symbol
symbol : class HttpServletResponse
location: class ServletTester
protected void processRequest(HttpServletRequest request, HttpServletResponse response) t
^
ServletTester.java:7: cannot find symbol
symbol : class ServletException
location: class ServletTester
protected void processRequest(HttpServletRequest request, HttpServletResponse response) t
6 errors
显然,无法找到javax.servlet
包。我从GlassFish安装中获得javax.servlet.jar
,但如果我javac ServletTester.java -classpath /opt/glassfish3/glassfish/modules/
我仍然会遇到相同的错误。
手动编译servlet的正确方法是什么?
答案 0 :(得分:6)
试试这个:
$ javac -classpath .:/opt/glassfish3/glassfish/modules/javax.servlet.jar ServletTester.java
请注意,必须完全指定 classpath 中的JAR文件名。只是他们的包含目录是不够的。也允许使用通配符(由一条评论指定)。
答案 1 :(得分:2)
另外,考虑一下maven。它具有原型,可以为您生成具有许多不同应用程序框架的Web应用程序的样板;有一个简单的Web应用程序原型可以自动完成您在此处尝试的操作。
手动编译 java 通常不是一个好计划;存在构建工具以自动化项目的处理和生命周期。它们是成熟和有用的。