java - Maven 在错误的存储库中搜索 Artifact

标签 java maven

当我尝试构建我的 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]

Image of full error

我在本地和 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/

相关文章:

java - SimpleMappingExceptionResolver 无法解析 404

java - 使 JTable 中的 JCheckBox 可编辑

java - Maven:资源二进制文件在构建后更改文件大小

java - 同一 Artifact 的不同范围和传递依赖问题

java - 报告超出 Sonar 服务器的最大上传大小

java - Spring mvc bean 在没有 @Controller 声明的情况下充当 Controller

java - 当应用服务器需要重启时,针对哪个文件类型改变?

java - maven-jetty-plugin 的 Maven 传递依赖问题

java - 从测试 jar 运行 JUnit 测试时出现类未找到异常

eclipse - 无法使用 Tomcat 7 在 Eclipse 中运行 Maven 项目