JDK8/Tomcat10升级中Maven父项目AspectJ依赖解析失败及版本咨询
问题解决与版本升级建议
一、修复aspectj-maven-plugin依赖解析失败
1. 替换无效的Maven仓库
maven.springframework.org已停止服务,需要把pom.xml中指向该地址的仓库替换为有效仓库:
- 删除或注释旧仓库配置:
<!-- 无效仓库,移除 --> <repository> <id>spring-maven</id> <url>http://maven.springframework.org/release</url> </repository> - 添加或保留以下有效仓库:
<!-- Maven中央仓库 --> <repository> <id>central</id> <url>https://repo1.maven.org/maven2</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> <!-- Spring官方发布仓库(如需) --> <repository> <id>spring-release</id> <url>https://repo.spring.io/release</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository>
2. 适配aspectj依赖版本
aspectj-maven-plugin:1.14.0和aspectjtools:1.8版本不兼容,建议升级aspectjtools到1.9.x稳定版:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> <version>1.14.0</version> <dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjtools</artifactId> <version>1.9.9.1</version> <!-- 与插件1.14.0匹配的稳定版本 --> </dependency> </dependencies> <configuration> <complianceLevel>1.8</complianceLevel> <!-- 对应JDK8 --> <source>1.8</source> <target>1.8</target> </configuration> </plugin>
3. 清理缓存重新编译
执行以下命令强制更新依赖并重新构建:
mvn clean install -U
二、JDK8+Tomcat10+MySQL8.0版本适配建议
1. MySQL依赖调整
- 替换驱动坐标为MySQL8.0+官方推荐的新坐标,版本与数据库一致:
<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.0.31</version> </dependency> - JDBC URL需添加时区参数,示例:
jdbc:mysql://localhost:3306/your_db?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
2. Tomcat10适配注意事项
Tomcat10基于Jakarta EE API(替代原Java EE),需注意:
- 原Java EE依赖(如
javax.servlet:javax.servlet-api)需替换为Jakarta版本:<dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>5.0.0</version> <scope>provided</scope> </dependency> - 若项目使用Spring 5.x,由于Spring 5仅支持Java EE,建议优先考虑降级到Tomcat9(兼容Java EE,JDK8适配更顺畅);若坚持用Tomcat10,需使用Spring 6.x或借助
tomcat-jakartaee-migration工具迁移代码。
3. 核心依赖版本推荐
- Spring Framework:JDK8适配Spring 5.3.x最新稳定版(如5.3.29),长期支持且兼容性好:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.29</version> </dependency> - Maven编译插件:升级到3.8.x+,指定JDK版本:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin>
内容的提问来源于stack exchange,提问作者rob
相关产品推荐
相关产品推荐

