使用javac编译servlet

时间:2011-04-26 13:58:07

标签: java servlets javac

我想在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的正确方法是什么?

2 个答案:

答案 0 :(得分:6)

试试这个:

$ javac -classpath .:/opt/glassfish3/glassfish/modules/javax.servlet.jar ServletTester.java 

请注意,必须完全指定 classpath 中的JAR文件名。只是他们的包含目录是不够的。也允许使用通配符(由一条评论指定)。

答案 1 :(得分:2)

另外,考虑一下maven。它具有原型,可以为您生成具有许多不同应用程序框架的Web应用程序的样板;有一个简单的Web应用程序原型可以自动完成您在此处尝试的操作。

手动编译 java 通常不是一个好计划;存在构建工具以自动化项目的处理和生命周期。它们是成熟和有用的。

相关问题