Maven 无法解析项目的依赖关系

Posted

技术标签:

【中文标题】Maven 无法解析项目的依赖关系【英文标题】:Maven could not resolve dependencies for a project 【发布时间】:2022-01-23 23:59:28 【问题描述】:

maven 无法解决我的项目的依赖关系 错误是这样的

Could not resolve dependencies for project org.bukkit:craftbukkit:jar:1.8-R0.1-SNAPSHOT: The following artifacts could not be resolved: org.bukkit:bukkit:jar:1.8-R0.1-SNAPSHOT, org.spigotmc:minecraft-server:jar:1.8-SNAPSHOT: Could not find artifact org.bukkit:bukkit:jar:1.8-R0.1-SNAPSHOT

这是 pom.xml 文件

<?xml version="1.0"?>

-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">

<modelVersion>4.0.0</modelVersion>

<groupId>org.bukkit</groupId>

<artifactId>craftbukkit</artifactId>

<packaging>jar</packaging>

<version>1.8-R0.1-SNAPSHOT</version>

<name>CraftBukkit</name>

<url>http://www.bukkit.org</url>


-<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<api.version>unknown</api.version>

<junit.version>4.11</junit.version>

<minecraft.version>1.8</minecraft.version>

<minecraft_version>1_8_R1</minecraft_version>

<buildtag.prefix>git-Bukkit-</buildtag.prefix>

<buildtag.suffix/>

<maven.compiler.source>1.6</maven.compiler.source>

<maven.compiler.target>1.6</maven.compiler.target>

</properties>


-<dependencies>


-<dependency>

<groupId>org.bukkit</groupId>

<artifactId>bukkit</artifactId>

<version>$project.version</version>

<type>jar</type>

<scope>compile</scope>

</dependency>


-<dependency>

<groupId>org.spigotmc</groupId>

<artifactId>minecraft-server</artifactId>

<version>$minecraft.version-SNAPSHOT</version>

<type>jar</type>

<scope>compile</scope>

</dependency>


-<dependency>

<groupId>net.sf.jopt-simple</groupId>

<artifactId>jopt-simple</artifactId>

<version>3.2</version>

<type>jar</type>

<scope>compile</scope>

</dependency>


-<dependency>

<groupId>jline</groupId>

<artifactId>jline</artifactId>

<version>2.12</version>

<type>jar</type>

<scope>compile</scope>

</dependency>


-<dependency>

<groupId>org.xerial</groupId>

<artifactId>sqlite-jdbc</artifactId>

<version>3.7.2</version>

<type>jar</type>

<scope>compile</scope>

</dependency>


-<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>5.1.14</version>

<type>jar</type>

<scope>compile</scope>

</dependency>


-<dependency>

<groupId>com.google.code.gson</groupId>

<artifactId>gson</artifactId>

<version>2.2.4</version>

</dependency>

<!-- testing -->



-<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>$junit.version</version>

<scope>test</scope>

</dependency>


-<dependency>

<groupId>org.hamcrest</groupId>

<artifactId>hamcrest-library</artifactId>

<version>1.3</version>

<scope>test</scope>

</dependency>

</dependencies>

<!-- required until fixed plexus-compiler-eclipse is deployed -->



-<pluginRepositories>


-<pluginRepository>

<id>spigotmc-public</id>

<url>https://hub.spigotmc.org/nexus/content/groups/public/</url>

</pluginRepository>

</pluginRepositories>

<!-- This builds a completely 'ready to start' jar with all dependencies inside -->



-<build>

<defaultGoal>clean install</defaultGoal>


-<plugins>


-<plugin>

<groupId>com.lukegb.mojo</groupId>

<artifactId>gitdescribe-maven-plugin</artifactId>

<version>2.0</version>


-<configuration>

<outputPrefix>$buildtag.prefix</outputPrefix>

<outputPostfix>$buildtag.suffix</outputPostfix>


-<extraArguments>

<extraArgument>--always</extraArgument>

</extraArguments>

</configuration>


-<executions>


-<execution>

<phase>compile</phase>


-<goals>

<goal>gitdescribe</goal>

</goals>

</execution>

</executions>

</plugin>


-<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-jar-plugin</artifactId>

<version>2.5</version>


-<configuration>


-<archive>


-<manifestEntries>

<Main-Class>org.bukkit.craftbukkit.Main</Main-Class>

<Implementation-Title>CraftBukkit</Implementation-Title>

<Implementation-Version>$describe</Implementation-Version>

<Implementation-Vendor>Bukkit Team</Implementation-Vendor>

<Specification-Title>Bukkit</Specification-Title>

<Specification-Version>$api.version</Specification-Version>

<Specification-Vendor>Bukkit Team</Specification-Vendor>

<Sealed>true</Sealed>

</manifestEntries>


-<manifestSections>


-<manifestSection>

<name>net/bukkit/</name>


-<manifestEntries>

<Sealed>true</Sealed>

</manifestEntries>

</manifestSection>


-<manifestSection>

<name>com/bukkit/</name>


-<manifestEntries>

<Sealed>true</Sealed>

</manifestEntries>

</manifestSection>


-<manifestSection>

<name>org/bukkit/</name>


-<manifestEntries>

<Sealed>true</Sealed>

</manifestEntries>

</manifestSection>

</manifestSections>

</archive>

</configuration>

</plugin>


-<plugin>

<groupId>org.codehaus.mojo</groupId>

<artifactId>animal-sniffer-maven-plugin</artifactId>

<version>1.13</version>


-<executions>


-<execution>

<phase>process-classes</phase>


-<goals>

<goal>check</goal>

</goals>

</execution>

</executions>


-<configuration>


-<signature>

<groupId>org.codehaus.mojo.signature</groupId>

<artifactId>java16</artifactId>

<version>1.1</version>

</signature>

</configuration>

</plugin>


-<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-shade-plugin</artifactId>

<version>2.3</version>


-<executions>


-<execution>

<phase>package</phase>


-<goals>

<goal>shade</goal>

</goals>


-<configuration>


-<relocations>


-<relocation>

<pattern>org.bouncycastle</pattern>

<shadedPattern>net.minecraft.v$minecraft_version.org.bouncycastle</shadedPattern>

</relocation>


-<relocation>

<pattern>joptsimple</pattern>

<shadedPattern>org.bukkit.craftbukkit.libs.joptsimple</shadedPattern>

</relocation>


-<relocation>

<pattern>jline</pattern>

<shadedPattern>org.bukkit.craftbukkit.libs.jline</shadedPattern>

</relocation>


-<relocation>

<pattern>org.ibex</pattern>

<shadedPattern>org.bukkit.craftbukkit.libs.org.ibex</shadedPattern>

</relocation>


-<relocation>

<pattern>org.gjt</pattern>

<shadedPattern>org.bukkit.craftbukkit.libs.org.gjt</shadedPattern>

</relocation>


-<relocation>

<pattern>com.google.gson</pattern>

<shadedPattern>org.bukkit.craftbukkit.libs.com.google.gson</shadedPattern>

</relocation>

<!-- These contain native libraries, and cannot be properly relocated<relocation><pattern>org.fusesource</pattern><shadedPattern>org.bukkit.craftbukkit.libs.$project.dependencies[4].version.org.fusesource</shadedPattern></relocation><relocation><pattern>org.sqlite</pattern><shadedPattern>org.bukkit.craftbukkit.libs.$project.dependencies[5].version.org.sqlite</shadedPattern></relocation><relocation><pattern>com.mysql</pattern><shadedPattern>org.bukkit.craftbukkit.libs.$project.dependencies[6].version.com.mysql</shadedPattern></relocation>!-->



-<relocation>

<pattern>org.bukkit.craftbukkit</pattern>

<shadedPattern>org.bukkit.craftbukkit.v$minecraft_version</shadedPattern>


-<excludes>

<exclude>org.bukkit.craftbukkit.Main*</exclude>

</excludes>

</relocation>


-<relocation>

<pattern>net.minecraft.server</pattern>

<shadedPattern>net.minecraft.server.v$minecraft_version</shadedPattern>

</relocation>

</relocations>

</configuration>

</execution>

</executions>

</plugin>

<!-- Gotta go after shade plugin -->



-<plugin>

<groupId>net.md-5</groupId>

<artifactId>specialsource-maven-plugin</artifactId>

<version>1.2.1</version>


-<executions>


-<execution>

<phase>package</phase>


-<goals>

<goal>remap</goal>

</goals>


-<configuration>

<srgIn>$project.basedir/deprecation-mappings.csrg</srgIn>

<accessIn>$project.basedir/deprecation-mappings.at</accessIn>

</configuration>

</execution>

</executions>

</plugin>


-<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<!-- versions after this appear to be broken -->


<version>3.1</version>


-<configuration>

<!-- we use the Eclipse compiler as it doesn't need a JDK -->


<compilerId>eclipse</compilerId>

<!-- source and target are ignored if this isn't true -->


<optimize>true</optimize>

</configuration>


-<dependencies>

<!-- we need our custom version as it fixes some bugs on case sensitive file systems -->



-<dependency>

<groupId>org.codehaus.plexus</groupId>

<artifactId>plexus-compiler-eclipse</artifactId>

<version>2.5.0-spigotmc</version>

</dependency>

</dependencies>

</plugin>


-<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-surefire-plugin</artifactId>

<version>2.18</version>


-<configuration>

<workingDirectory>$basedir/target/test-server</workingDirectory>


-<excludes>

<exclude>org/bukkit/craftbukkit/updater/BukkitDLUpdaterServiceTest.java</exclude>

<exclude>org/bukkit/craftbukkit/inventory/ItemStack*Test.java</exclude>

</excludes>

</configuration>

</plugin>

</plugins>


-<pluginManagement>


-<plugins>

<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->



-<plugin>

<groupId>org.eclipse.m2e</groupId>

<artifactId>lifecycle-mapping</artifactId>

<version>1.0.0</version>


-<configuration>


-<lifecycleMappingMetadata>


-<pluginExecutions>


-<pluginExecution>


-<pluginExecutionFilter>

<groupId>com.lukegb.mojo</groupId>

<artifactId>gitdescribe-maven-plugin </artifactId>

<versionRange>[1.3,)</versionRange>


-<goals>

<goal>gitdescribe</goal>

</goals>

</pluginExecutionFilter>


-<action>

<ignore/>

</action>

</pluginExecution>

</pluginExecutions>

</lifecycleMappingMetadata>

</configuration>

</plugin>

</plugins>

</pluginManagement>

</build>

</project>

【问题讨论】:

请edit您的问题并正确格式化。无法按原样阅读。 【参考方案1】:

托管此依赖项的存储库几年前就已关闭。它已被替换为:

<repositories>
    <repository>
        <id>spigot-repo</id>
        <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
    </repository>
</repositories>

可以直接here查看依赖。

【讨论】:

好的,我把这个放在哪里 project 标签内。

以上是关于Maven 无法解析项目的依赖关系的主要内容,如果未能解决你的问题,请参考以下文章

Maven 无法解析同一多模块项目中模块的依赖关系

MAVEN BUILD FAILURE - 无法解析项目 XYZ 的依赖关系

Maven 无法解决依赖关系

多模块项目构建期间模块之间的 Maven 依赖关系解析

Maven 使用 mvn test 版本号时无法解析依赖关系

MAVEN 无法解决依赖关系 [重复]