【问题标题】:Failed to execute goal org.fortasoft:gradle-maven-plugin未能执行目标 org.fortasoft:gradle-maven-plugin
【发布时间】:2020-05-06 04:07:41
【问题描述】:

我在这里遇到一个奇怪的错误,maven 无法使用 sudo。

当我执行mvn clean install -DskipTests 我收到了这个错误:

Failed to execute goal org.fortasoft:gradle-maven-plugin:1.0.8:invoke (default) on project http: Execution default of goal org.fortasoft:gradle-maven-plugin:1.0.8:invoke failed: Plugin org.fortasoft:gradle-maven-plugin:1.0.8 or one of its dependencies could not be resolved: Failed to collect dependencies at org.fortasoft:gradle-maven-plugin:jar:1.0.8 -> org.gradle:gradle-tooling-api:jar:2.13: Failed to read artifact descriptor for org.gradle:gradle-tooling-api:jar:2.13: Could not transfer artifact org.gradle:gradle-tooling-api:pom:2.13 from/to gradle (http://repo.gradle.org/gradle/libs-releases-local/): Access denied to: http://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-tooling-api/2.13/gradle-tooling-api-2.13.pom , ReasonPhrase:Forbidden. -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

然后我尝试了sudo mvn clean install -DskipTests

奇怪的是我得到了这个错误:

The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE

执行mvn -v后

Apache Maven 3.6.0
Maven home: /usr/share/maven
Java version: 1.8.0_251, vendor: Oracle Corporation, runtime: /home/akshay/java/jdk1.8.0_251/jre
Default locale: en_IN, platform encoding: UTF-8
OS name: "linux", version: "5.3.0-45-generic", arch: "i386", family: "unix"

如果使用 sudo sudo mvn -v 执行

The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE

我的环境变量:

export JAVA_HOME=/home/akshay/java/jdk1.8.0_251
export PATH=$PATH:$JAVA_HOME/bin

【问题讨论】:

  • 快速提示,每当你需要使用 sudo 运行 maven 时,你就做错了。

标签: java maven


【解决方案1】:

您需要更新镜像。这是来自developpaper.com的sn-p:

  • 打开Maven的配置文件(windows机器一般在Maven安装目录的conf/settings.xml)。在<mirrors></mirrors>。在标签中添加镜像子节点:

    <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>*</mirrorOf>
        < name > Alibaba cloud public warehouse < / name >
        <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
    
  • 在单个项目的配置模式下修改pom.xml:

     <repositories>
        <repository>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            </repository>
    </repositories>
    

GitHub issue

Additional link

【讨论】:

    【解决方案2】:

    sudo 不会帮助您解决缺少的依赖项。这就是你要做的事情。

    将在此处粘贴相同错误的换行版本。

    Execution default of goal org.fortasoft:gradle-maven-plugin:1.0.8:invoke failed: 
        Plugin org.fortasoft:gradle-maven-plugin:1.0.8 or one of its dependencies could not be resolved:
        Failed to collect dependencies at org.fortasoft:gradle-maven-plugin:jar:1.0.8 -> org.gradle:gradle-tooling-api:jar:2.13: 
        Failed to read artifact descriptor for org.gradle:gradle-tooling-api:jar:2.13: 
        Could not transfer artifact org.gradle:gradle-tooling-api:pom:2.13 from/to gradle (http://repo.gradle.org/gradle/libs-releases-local/): 
        Access denied to: http://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-tooling-api/2.13/gradle-tooling-api-2.13.pom , ReasonPhrase:Forbidden. -> [Help 1]
    

    因此,无论您进行何种配置,都指向http://repo.gradle.org 不存在的路径,我认为这不是您想要的位置。

    【讨论】:

    • ...不要为此使用sudo。 root 用户不需要在你的机器上执行任何 Maven 目标,你也不应该允许它。在运行 mvn 时排除 sudo 无法工作的故障,就像在您的汽车明显没油时试图弄清楚为什么您的空调没有运行一样。
    猜你喜欢
    • 1970-01-01
    • 2019-08-07
    • 2012-11-13
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 2015-11-04
    • 2020-08-07
    相关资源
    最近更新 更多