我有一个由Eclipse中的Maven集成创建的项目.一切正常,但在所有JSP文件的工作空间中都有这样的:
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
Run Code Online (Sandbox Code Playgroud)
到第一个字符串所在的位置:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Run Code Online (Sandbox Code Playgroud)
当我创建一个基本的动态Web项目和JSP时 - 一切都很好,没有错误.
我已经开始编写可以在Google App Engine上运行的应用程序了.
但是当我想将我的Netbeans代码用于Eclipse时,我遇到了错误:
import javax.servlet.annotation.WebServlet;
Run Code Online (Sandbox Code Playgroud)
和
@WebServlet(name = "MyServlet", urlPatterns = {"/MyServlet"})
Run Code Online (Sandbox Code Playgroud)
错误是:
The import javax.servlet.annotation cannot be resolved
WebServlet cannot be resolved to a type
Run Code Online (Sandbox Code Playgroud)
我试图将servlet-api.jar导入Eclipse,但仍然是相同的,也尝试构建和清理项目.
我不在我的Eclipse上使用Tomcat只在我的Netbeans上使用它.
我该如何解决这个问题?
我正在开始一个遗留项目并尝试使用 Maven 构建它。我正在使用 Eclipse EE 和 Tomcat v7.0。当我在终端中运行“mvn package”时出现上面标题行中的错误。这个错误真的让我很难过,因为在我的 pom.xml 文件中,我有以下依赖项
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我还检查了 Properties>Targeted Runtimes 并确保 Tomcat v7.0 是选定的运行时。我相当确定这是我的 eclipse 环境的问题,并希望获得一些有关如何修复它的建议。
编辑:这里有一些额外的信息。运行“mvn package”后的第一个输出是
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project myProject: Compilation failure: Compilation failure:
Run Code Online (Sandbox Code Playgroud)
接下来是另一个奇怪的错误,我忘记在原始帖子中包含该错误。我说这很奇怪,因为像包 javax.servlet 一样,org.apache.catalina 也应该包含在 tomcat 中
[ERROR] /path/to/Main.java:[7,26] error: package org.apache.catalina does not exist
Run Code Online (Sandbox Code Playgroud)
另外,我想我混淆了遗留项目的含义,因为这不是一个旧项目。这只是一个已经完成了很多工作的项目,我现在正在帮助原始创作者。