我在这里得到一个奇怪的错误,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
你需要更新镜像。以下是来自 developpaper.com:
打开Maven的配置文件(windows机器一般在 conf
settings.xml
的Maven安装目录)。) 在 <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>
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。我不认为这是你想去的地方。