当我尝试构建我的 Java 项目(Minecraft 插件)时,我遇到了这个错误(坦率地说,毫无缘由)。
我尝试搜索类似的错误,我能找到的大多数错误都涉及镜子(我不使用(我认为)的东西),其他人并没有真正的解决方案/明确的答复。
我得到的错误:
[ERROR] Failed to execute goal on project HeroicScoreboard: Could not resolve dependencies for project com.dbsoftwares.spigot:HeroicScoreboard:jar:1.0.0-SNAPSHOT: Could not find artifact com.comphenix.protocol:ProtocolLib:jar:4.5.1-20200112.025312-289 in aikar (https://repo.aikar.co/content/groups/aikar/) -> [Help 1]
我在本地和 GitHub ( you can find the build here ) 上都收到此错误
这是我当前使用的 POM 文件 ( you can also find it on github ):
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
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.dbsoftwares.spigot</groupId>
<artifactId>HeroicScoreboard</artifactId>
<version>1.0.0-SNAPSHOT</version>
<repositories>
<repository>
<id>centrixpvp</id>
<url>http://nexus.diviwork.nl/repository/centrix-releases/</url>
</repository>
<repository>
<id>dbsoftwares</id>
<url>http://nexus.diviwork.nl/repository/dbsoftwares/</url>
</repository>
<repository>
<id>dmulloy2-repo</id>
<url>https://repo.dmulloy2.net/nexus/repository/public/</url>
</repository>
<repository>
<id>aikar</id>
<url>https://repo.aikar.co/content/groups/aikar/</url>
</repository>
<repository>
<id>mvdw-software</id>
<url>http://repo.mvdw-software.be/content/groups/public/</url>
</repository>
<repository>
<id>placeholderapi</id>
<url>http://repo.extendedclip.com/content/repositories/placeholderapi/</url>
</repository>
<repository>
<id>viaversion</id>
<url>https://repo.viaversion.com/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>1.15.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.dbsoftwares.centrixcore</groupId>
<artifactId>spigot</artifactId>
<version>2.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.dbsoftwares.configuration</groupId>
<artifactId>ConfigurationAPI</artifactId>
<version>1.3.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>co.aikar</groupId>
<artifactId>acf-paper</artifactId>
<version>0.5.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.comphenix.protocol</groupId>
<artifactId>ProtocolLib</artifactId>
<version>4.5.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>be.maximvdw</groupId>
<artifactId>MVdWPlaceholderAPI</artifactId>
<version>3.0.2-SNAPSHOT</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
<version>2.9.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.12.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>us.myles</groupId>
<artifactId>viaversion</artifactId>
<version>2.2.3</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>HeroicScoreboard v${project.version}</finalName>
<plugins>
<plugin>
<version>3.8.1</version>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<configuration>
<dependencyReducedPomLocation>
${project.build.directory}/dependency-reduced-pom.xml
</dependencyReducedPomLocation>
<relocations>
<relocation>
<pattern>co.aikar.commands</pattern>
<shadedPattern>com.dbsoftwares.spigot.acf</shadedPattern>
</relocation>
<relocation>
<pattern>com.dbsoftwares.configuration</pattern>
<shadedPattern>com.dbsoftwares.spigot.scoreboard.configuration</shadedPattern>
</relocation>
<relocation>
<pattern>org.jsoup</pattern>
<shadedPattern>com.dbsoftwares.spigot.scoreboard.jsoup</shadedPattern>
</relocation>
</relocations>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>
因此它基本上搜索此存储库中的“ProtocolLib” Artifact :
<repository>
<id>aikar</id>
<url>https://repo.aikar.co/content/groups/aikar/</url>
</repository>
而不是这个(它所在的位置):
<repository>
<id>dmulloy2-repo</id>
<url>https://repo.dmulloy2.net/nexus/repository/public/</url>
</repository>
编辑#1:我忘了提及,是的,我尝试在本地使用 -U 选项运行它,但它似乎不起作用。
最佳答案
此构建失败的真正原因似乎是存储库
https://repo.aikar.co/content/groups/aikar/
坏了。如果你看一下
https://repo.aikar.co/nexus/content/groups/aikar/com/comphenix/protocol/ProtocolLib/4.5.1-SNAPSHOT/
您会看到一个maven-metadata.xml
。因此 Maven 查看此文件并发现存储库包含您正在查找的 SNAPSHOT,即
<dependency>
<groupId>com.comphenix.protocol</groupId>
<artifactId>ProtocolLib</artifactId>
<version>4.5.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
不幸的是,此 xml 文件想要将 -SNAPSHOT
解析为版本 4.5.1-20200112.025312-289
。目录中不存在该版本,因此 Maven 无法解析任何内容。
作为快速解决方案,颠倒两个相关存储库的顺序。
关于java - Maven 在错误的存储库中搜索 Artifact ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60048086/