首页 > 解决方案 > 无法构建任何具有相同错误的 Maven 项目

问题描述

自从我在 Maven 中构建任何东西以来已经有几个星期了,我只是尝试构建其中一个项目,它给了我这个错误。我尝试了多个项目,但他们抛出了同样的错误:

Execution default of goal org.codehaus.mojo:aspectj-maven-plugin:1.8:compile failed: Plugin org.codehaus.mojo:aspectj-maven-plugin:1.8 or one of its dependencies could not be resolved: Could not find artifact com.sun:tools:jar:15.0.2 at specified path /usr/local/Cellar/openjdk/15.0.2/libexec/openjdk.jdk/Contents/Home/../lib/tools.jar -> [Help 1]

如何解决此错误?我什至无法运行 mvn install -DskipTests 或 mvn package。

我在 JDK 版本 8 上。

编辑:这是我的 pom 插件:

             <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>aspectj-maven-plugin</artifactId>
                <version>${aspectj-maven-plugin.version}</version>
                <configuration>
                    <complianceLevel>${java.version}</complianceLevel>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <showWeaveInfo>true</showWeaveInfo>
                    <verbose>true</verbose>
                    <aspectLibraries>
                        <dependency>
                            <groupId>com.jcabi</groupId>
                            <artifactId>jcabi-aspects</artifactId>
                        </dependency>
                    </aspectLibraries>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

java 版本 = 1.8 aspectj-maven-plugin.version = 1.8

编辑:我从 repo 中提取了这个项目,这意味着它可以在其他人的计算机/jenkins 上运行。我相信这与我的本地计算机有关。如果我使用终端,它也会给我同样的错误。

标签: javamaven

解决方案


经过更多研究,我找到了答案。正如评论中提到的@Michael Katt,我的 JAVA_HOME 设置不正确。当我这样做时which java,它给了我/usr/bin/java,但当我这样做时echo $JAVA_HOME,它什么也没给我。

所以在其他同事的帮助下,我做了vi ~/.bash_profile并添加了export JAVA_HOME=$(/usr/libexec/java_home). 不完全确定为什么,但这与在我的项目结构中将它与我的 jdk 匹配有关/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk...

我打开新的 shell 并输入echo $JAVA_HOME,它给了我/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home. 我的项目现在构建/编译。

我仍然不确定如何$(/usr/libexec/java_home)翻译成/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk...


推荐阅读