一、本人在IDEA中配置的tomcat版本为tomcat 10.0.12,但是配置servlet-api依赖时,版本version采用的是10.1.0-M16,然后新建servlet项目,并配置到该服务器中,最后运行,运行时控制台报错:
java: 无法访问jakarta.servlet.ServletException
错误的类文件: /E:/dev/local_repository/org/apache/tomcat/tomcat-servlet-api/10.1.0-M16/tomcat-servlet-api-10.1.0-M16.jar!/jakarta/servlet/ServletException.class
类文件具有错误的版本 55.0, 应为 52.0
请删除该文件或确保该文件位于正确的类路径子目录中。
而后将版本号更改为10.0.12后,成功运行!!!
<dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-servlet-api</artifactId> <version>10.0.12</version> </dependency>
二、当利用maven搭建web项目时,发现不需要在框架的WEB-INF目录下新建classes以及lib目录:
通过maven生命周期打包后(左图package),在target目录下生成一个war压缩包(右图):
这个war压缩包可以理解为项目成品!!!将这个war压缩包后缀改为rar格式,然后打开:
发现该目录结构与tomcat服务器规范一致,打开WEB-INF目录:
可以知道IDEA自动帮我们创建了classes以及lib目录,点开classes目录可以发现,这个目录下有我们项目src下的java目录下的所有java文件编译生成的.class文件;且lib目录下存放我们项目用到的所有jar包。
这些都不需要我们在项目结构里进行设置!!!