Maven错误:包javax.servlet不存在

时间:2013-07-15 11:05:32

标签: maven servlets

我开始使用遗留项目并尝试使用Maven进行构建。我正在使用Eclipse EE和Tomcat v7.0。上面标题行中的错误出现在我运行" mvn package"在终端。这个错误真的让我很难过,因为在我的pom.xml文件中我有以下依赖

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

我还检查了属性&gt; Targeted Runtimes,并确保Tomcat v7.0是选定的运行时。我非常肯定这是我的日食环境的一个问题,并希望得到一些关于如何修复它的建议。

编辑:这里有一些额外的信息。我运行&#34; mvn package&#34;之后的第一个输出是

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project myProject: Compilation failure: Compilation failure:

接下来是另一个我忘记包含在原始帖子中的奇怪错误。我说这很奇怪,因为像包javax.servlet一样,org.apache.catalina也应该包含在tomcat中

[ERROR] /path/to/Main.java:[7,26] error: package org.apache.catalina does not exist

另外,我认为我混淆了遗留项目的含义,因为这不是一个旧项目。它只是一个已完成大量工作的项目,我现在正在帮助原始创作者。

2 个答案:

答案 0 :(得分:4)

您缺少的依赖关系可能是Servlet API

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>

请务必导入正确版本的API。对于旧项目,可能是 2.5 的旧版本。

正如 Grzegorz 所提到的,您还应该使用范围提供,因为Servlet API应该由您的应用程序服务器提供(例如Tomcat)。

答案 1 :(得分:0)

将服务器运行时添加到项目中。 示例 - 用于Tomcat

1 - 右键单击​​您的项目

2-选择构建路径

3-转到“库”选项卡

4-添加库

5-选择服务器运行时间

6-在这里你应该得到Apache Tomcat

enter image description here

如果你没有在这里获得Apache Tomcat,你需要在Project Facets中添加你的服务器,如下所示 -

1-右键点击您的项目

2-选择Project Facets

3-如果您没有选择,请点击“转换为分面形式”链接

4-转到右侧的“运行时”选项卡,然后选择运行时

enter image description here