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