我正在尝试构建Maven项目,但根本无法正常工作。
这是我的POM.xml
<<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.Data.Maven</groupId>
<artifactId>Hadoop</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
setting.xml
<repositories>
<repository>
<id>cloudera</id>
<url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>central</id>
<url>http://repo.maven.apache.org/maven2/</url>
</repository>
<repository>
<id>forplay-legacy</id>
<url>http://forplay.googlecode.com/svn/mavenrepo</url>
</repository>
<repository>
<id>org.apache.maven.plugins</id>
<url>https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-resources-plugin</url>
</repository>
<repository>
<id>org.apache.maven.plugins</id>
<url>https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin</url>
</repository>
</repositories>
错误
[错误]插件org.apache.maven.plugins:maven-compiler-plugin:3.1或其依赖项之一无法解析:无法读取org.apache.maven.plugins:maven-compiler-的工件描述符plugin:jar:3.1:无法从/到中央(https://repo.maven.apache.org/maven2)传输工件org.apache.maven.plugins:maven-compiler-plugin:pom:3.1:java.lang.RuntimeException:意外错误:java。 security.InvalidAlgorithmParameterException:trustAnchors参数必须为非空
错误表明它无法从http://repo.maven.apache.org/maven2
网址下载工件,但无法下载此网址。我在setting.xml中提到了不同之处。
有什么方法可以解决此问题,或者我可以更改任何设置以使它不会转到此URL http://repo.maven.apache.org/maven2
进行下载,而只能在setting.xml中提到?
尝试了几乎所有选项,例如删除maven存储库,mvn安装,强制更新,删除项目,重新启动eclipse等。
任何帮助将不胜感激。真的卡住了
谢谢
答案 0 :(得分:0)
在maven的语义版本控制中,3.1
和3.1.0
是不同的东西。 Maven不能仅仅因为它不存在而无法找到该插件的版本3.1。您需要参考在依赖项中正确引用的3.1.0版本:
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version> <!-- Here, instead of 3.1 you had in the question -->
</plugin>
</plugins>
</pluginManagement>
</build>
答案 1 :(得分:0)
我遇到了同样的问题。我刚刚在我的项目 pom 中添加了以下依赖项并重建了项目。
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<type>maven-plugin</type>
</dependency>