maven编译web项目显示“软件包 javax.servlet.http 不存在"
Posted 疯子加天才
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven编译web项目显示“软件包 javax.servlet.http 不存在"相关的知识,希望对你有一定的参考价值。
maven项目编译报错:
- 软件包 javax.servlet 不存在
- import javax.servlet.*;
-
软件包 javax.servlet 不存在
-
import javax.servlet.*;
明明tomcat下面的lib自带有这些包,却依然加载失败,
解决方法一:
在pom.xml里面重新引入这个包
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
<!-- servlet相关 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
-
<dependency>
-
<groupId>javax.servlet</groupId>
-
<artifactId>servlet-api</artifactId>
-
<version>2.5</version>
-
<scope>provided</scope>
-
</dependency>
但是这个方法容易会跟tomcat里面的包冲突,会报这个错误:
- jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
解决方法二:
右键,buildPath,自己手动从tomcat目录下的lib包里添加外部jar包。
参考:
项目--右键--属性-->
Java Build Path--查看jdk版本
Java Compiler -- 查看版本
Project Facets -- 查看java版本
三个版本要保持一致。
以上是关于maven编译web项目显示“软件包 javax.servlet.http 不存在"的主要内容,如果未能解决你的问题,请参考以下文章
Maven01_07_7.Maven的编译插件创建web的Maven项目讲解把Maven的web项目跑到tomcat中更改JDK的版本用1.8的版本来编译我们的代码
maven web项目部署到tomcat时怎么设置不将web项目关联的maven工程打jar包,而是将maven工程编译到classes
使用 maven 编译 netbeans Web 服务项目时出错