概述
对于java工程师来说,maven是我们必然会接触的项目管理工具。每当我们从远程仓库拉了新项目并在本地idea运行时,总会难免一大片一大片地标红,为了避免以后出现同样的问题,决定做个记录,把过去碰到过的所有maven问题和解决方法都记录下来,提高以后的开发和排错效率。
1、maven默认编译版本问题
默认编译版本是jdk1.5,报错图忘记截了
在pom.xml中添加全局设置和build,如下:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source> <!-- 表示jdk11 -->
<maven.compiler.target>11</maven.compiler.target> <!-- 表示jdk11 -->
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
</plugins>
</build>
2、jdk8升级到jdk21
需要做如下改变:
- maven编译语言从8变为21
- javax.validation升级为jakarta.validation;javax.servlet升级为jakarta.servlet
- lombok升级为1.8.30以上
- springboot升级为3.0.0以上
3、微服务项目子模块间存在相互引用的情况
被引用的模块需要先打包mvn package(生成环境则需要上传包到仓库mvn deploy),此时引用模块才能使用到被引用模块的类和依赖包。
99、二次启动maven项目时,出现Artifact失效