编辑 3:我还尝试通过此线程中提到的 java 选项参数设置 maven 代理。
编辑 2:我确定 intellij idea 使用相同的 settings.xml、相同的 maven 二进制文件和与系统 maven 相同的本地存储库。
编辑 1:我尝试检查每个工作负载的构建日志,主要区别在于如何在构建日志的最开始调用 maven。
对于 intellij 的想法,如下所示:
C:\Program Files\Java\jdk1.8.0_101\bin\java.exe" -Dmaven.multiModuleProjectDirectory=C:\Users\eugene\IdeaProjects\alluxio -Dmaven.home=C:\apache-maven-3.5.4-bin\apache-maven-3.5.4 -Dclassworlds.conf=C:\apache-maven-3.5.4-bin\apache-maven-3.5.4\bin\m2.conf "-Dmaven.ext.class.path=C:\Program Files\JetBrains\IntelliJ IDEA\plugins\maven\lib\maven-event-listener.jar" -Dfile.encoding=UTF-8 -classpath C:\apache-maven-3.5.4-bin\apache-maven-3.5.4\boot\plexus-classworlds-2.5.2.jar org.codehaus.classworlds.Launcher -Didea.version2019.2.4 -DskipTests=true -T 2C clean install -DskipTests -Dmaven.javadoc.skip -Dfindbugs.skip -Dcheckstyle.skip -Dlicense.skip
对于系统外壳,maven 刚刚启动而没有此调用信息。
我正在使用 maven从源代码构建项目Alluxio 。
我尝试了 Windows 10 和 Ubuntu,在使用 intellij idea 时发现了同样的问题,让我详细说明一下。
- 操作系统:Windows 10/Ubuntu 18.04
- Maven:3.5.4
- 构建命令:
mvn -T 2C clean install -DskipTests -Dmaven.javadoc.skip -Dfindbugs.skip -Dcheckstyle.skip -Dlicense.skip
Alluxio 可以直接使用 maven 3.5.4 成功构建,但使用 intellij idea 失败并出现多个错误。让我感到困惑的是,我将 intellij idea 配置为使用系统 maven 3.5.4 并使用完全相同的构建命令。为什么错误发生在这里而不是系统外壳。
我遇到的错误是这样的:
Failure to find com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava in https://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
并且还喜欢:
sourceFile C:\Users\eugene\IdeaProjects\alluxio\table\server\underdb\target\alluxio-table-server-underdb-2.2.0-SNAPSHOT-jar-with-dependencies.jar does not exist
从intellij idea触发maven build的方法:
- 点击右上角的maven图标
- 点击
Execute Maven Goal
- 输入
mvn -T 2C clean install -DskipTests -Dmaven.javadoc.skip -Dfindbugs.skip -Dcheckstyle.skip -Dlicense.skip
并输入以启动构建
intellij idea 中的 maven 设置是默认设置,只是将 maven 二进制文件从内置二进制文件更改为系统 maven 3.5.4。
提前感谢您的帮助。