【发布时间】:2018-05-03 23:07:58
【问题描述】:
我正在尝试将 Web 应用程序部署到 tomcat7。我读到tomcat 提供了servlet 库,并通过查看/usr/share/tomcat7/lib 确认了这一点。其中包括:
servlet-api.jar, jsp-api.jar, annotations-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 的相关(我认为)部分是:
<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 中也有这些文件:
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 网站集 J2EE_HOME 下载 javaee-8 并将以下内容添加到构建文件的上述部分,但它仍然无法编译:
<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>
【问题讨论】:
标签: ant