文章目录
- 现象
- 原因
- 解决
- 验证
现象
一个Maven项目,当导入到IDEA后,无法在IDEA中正常的编译和下载jar依赖,类似下面的截图。
但是在Windows控制台却可以正常编译,类似下面的截图。
-
CMD执行:
mvn clean install -Dmaven.test.skip=true
-
PowerShell执行:
mvn clean install '-Dmaven.test.skip=true'
在IDEA中就是PowerShell执行,需要引号
原因
IDEA内置了一套绑定的Maven,我们在Windows控制台编译Maven项目时,使用的是环境变量中配置的JDK和MavenHome,这就是不一致的原因。
解决
更改IDEA中MAVEN和JDK的配置。
1.更改JDK
设置–>项目设置–>
- 项目中的SDK
- 平台设置中的SDK
2.更改MAVEN
验证
再次在IDEA选中Clean + Package执行后看日志第一行的变化。
# 之前
"C:\Program Files\Java\jdk8\bin\java.exe"
-Dmaven.home=C:\Program Files\JetBrains\IntelliJ IDEA 2021.2.2\plugins\maven\lib\maven3
-classpath "C:\Program Files\JetBrains\IntelliJ IDEA 2021.2.2\plugins\maven\lib\maven3\boot\plexus-classworlds-2.6.0.jar;...
-DskipTests=true clean package -P local
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------< org.springframework.boot:easy-admin >-----------------
[INFO] Building easy-admin 1.0.0
...# 更改后
"C:\Program Files\Java\jdk-17\bin\java.exe"
-Dmaven.home=C:\Soft\apache-maven-3.8.3-bin\apache-maven-3.8.3
-classpath C:\Soft\apache-maven-3.8.3-bin\apache-maven-3.8.3\boot\plexus-classworlds-2.6.0.jar;...
-s C:\Soft\apache-maven-3.8.3-bin\apache-maven-3.8.3\conf\settings.xml -Dmaven.repo.local=C:\repository -DskipTests=true clean package -P local
[INFO] Scanning for projects...