首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >蚂蚁猫不能编译缺少的HttpServlet包

蚂蚁猫不能编译缺少的HttpServlet包
EN

Stack Overflow用户
提问于 2018-05-03 14:15:56
回答 1查看 108关注 0票数 0

我正在尝试将一个web应用程序部署到tomcat7。我读到tomcat提供了servlet库,并通过查看/usr/share/tomcat 7/lib确认了这一点。除其他外,其中包括:

servlet-api.jar,jsp-api.jar,注释-api.jar,httpclient-4.5.3.jar httpclient-cache-4.5.3.jar,httpcore-4.4.6.jar,httpclient-4.5.3.jar,gson-2.6.2.jar

build.xml的相关(我认为)部分内容是:

代码语言:javascript
运行
复制
  <path id="compile.classpath">
    <!-- Include all JAR files that will be included in /WEB-INF/lib -->
    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
    <pathelement location="${basedir}/lib/*"/>
    <!-- Include all elements that Tomcat exposes to applications -->
    <fileset dir="${catalina.home}/bin">
      <include name="*.jar"/>
    </fileset>
    <pathelement location="${catalina.home}/lib"/>
    <fileset dir="${catalina.home}/lib">
      <include name="*.jar"/>
    </fileset>
  </path>

为什么应用程序没有编译“未知符号”呢?我在项目文件夹/lib中也有这些文件:

代码语言:javascript
运行
复制
symbol:   class HttpSession
    [javac]   location: class QuestionPageServlet
    [javac] /var/lib/tomcat7/webapps/FlashcardShark/src/flashcardshark/servlet/QuestionPageServlet.java:53: error: cannot find symbol
    [javac]             String responseMessage = new Gson().toJson("card successfully udpated");
    [javac]                                          ^
    [javac]   symbol:   class Gson
    [javac]   location: class QuestionPageServlet
    [javac] /var/lib/tomcat7/webapps/FlashcardShark/src/flashcardshark/servlet/QuestionPageServlet.java:56: error: cannot find symbol
    [javac]             response.setStatus(HttpServletResponse.SC_ACCEPTED);
    [javac]                                ^
    [javac]   symbol:   variable HttpServletResponse
    [javac]   location: class QuestionPageServlet
    [javac] /var/lib/tomcat7/webapps/FlashcardShark/src/flashcardshark/servlet/QuestionPageServlet.java:66: error: cannot find symbol
    [javac]            HttpSession session = request.getSession();

编辑:我从oracles网站下载javaee-8,相应地设置J2EE_HOME,并将以下内容添加到构建文件的上述部分,但它仍然没有编译:

代码语言:javascript
运行
复制
<path id="compile.classpath">
    <pathelement location="${basedir}/lib/*"/>
    <fileset dir="${catalina.home}/bin">      <include name="*.jar"/>
    </fileset>
    <pathelement location="${catalina.home}/lib"/>
    <fileset dir="${catalina.home}/lib">
      <include name="*.jar"/>
    </fileset>
    <pathelement path = "${env.J2EE_HOME}/${j2ee.jar}"/>
   <fileset dir = "lib">
      <include name = "**/*.jar"/>
   </fileset>
  </path>
EN

回答 1

Stack Overflow用户

发布于 2018-05-03 15:07:58

我刚开始编写ant构建脚本:但这是我为使其编译而做的:

代码语言:javascript
运行
复制
<javac srcdir="${src.home}"
          destdir="${build.home}/WEB-INF/classes"
            debug="${compile.debug}"
           includes="${basedir}/lib/*"
      deprecation="${compile.deprecation}"
         optimize="${compile.optimize}">

其中包含的选项就是它所做的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50157256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档