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 BUILD FAILURE - 无法解析项目 XYZ 的依赖关系