Maven错误:包javax.servlet不存在

Maven错误:包javax.servlet不存在,maven,servlets,Maven,Servlets,我正在着手一个遗留项目,并尝试使用Maven来构建它。我正在使用EclipseEE和TomcatV7.0。当我在终端中运行“mvn包”时,上面标题行中出现错误。这个错误让我很困惑,因为在pom.xml文件中,我有以下依赖项 <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version&g

我正在着手一个遗留项目,并尝试使用Maven来构建它。我正在使用EclipseEE和TomcatV7.0。当我在终端中运行“mvn包”时,上面标题行中出现错误。这个错误让我很困惑,因为在pom.xml文件中,我有以下依赖项

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
这是继另一个奇怪的错误,我忘了包括在原来的张贴。我说这很奇怪,因为像javax.servlet包一样,org.apache.catalina也应该包含在tomcat中

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

另外,我想我混淆了遗留项目的含义,因为这不是一个旧项目。这只是一个已经做了很多工作的项目,我现在正在帮助原始创建者。

您缺少的依赖性可能就是


javax.servlet
servlet api
2.5
假如
请确保导入正确版本的API。对于遗留项目,该版本可能比2.5版本旧


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

将服务器运行时添加到您的项目中。 例如,Tomcat

1-右键单击您的项目

2-选择构建路径

3-转到“库”选项卡

4-添加库

5-选择服务器运行时

6-在这里,您应该获得ApacheTomcat

如果这里没有Apache Tomcat,则需要在项目方面添加服务器,如下所示-

1-右键单击您的项目

2-选择项目方面

3-如果没有选项,请单击链接“转换为镶嵌面形式”

4-转到右侧的运行时选项卡并选择您的运行时


虽然这是一个很好的关于如何运行Eclipse的答案,但上面的内容与maven构建错误无关。
[ERROR] /path/to/Main.java:[7,26] error: package org.apache.catalina does not exist
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>