4

我在 spring 模板项目的 mi maven pom.xml 中收到以下错误

“描述资源路径位置类型 ArtifactDescriptorException:无法读取 org.slf4j:slf4j-api:jar:1.5.6 的工件描述符:ArtifactResolutionException:无法从http://传输 org.slf4j:slf4j-api:pom:1.5.6 /repo.maven.apache.org/maven2缓存在本地存储库中,直到中央的更新间隔已过或强制更新才会重新尝试解析。原始错误:无法传输工件org.slf4j:slf4j-api: pom:1.5.6 从/到中央 (http://repo.maven.apache.org/maven2): C:\Users\muhsin.HIFX.m2\repository\org\slf4j\slf4j-api\1.5.6\ slf4j-api-1.5.6.pom.ahc0570cfa3a1934af5 (系统找不到指定的文件) pom.xml /sample line 1 Maven Dependency Problem"

我的 pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.springframework.samples.spring</groupId>
    <artifactId>spring-jpa-utility</artifactId>
    <version>1.0.0.CI-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>Spring JPA Utility</name>
    <url>http://www.springframework.org</url>
    <description>
        <![CDATA[This project is a minimal jar utility with Spring configuration for JPA usage.]]>
    </description>
    <properties>
        <maven.test.failure.ignore>true</maven.test.failure.ignore>
        <spring.framework.version>3.0.6.RELEASE</spring.framework.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>3.6.0.Final</version>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.0.0.GA</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>4.1.0.Final</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.7</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.framework.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${spring.framework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.framework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.framework.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.2.2</version>
        </dependency>       
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.3.156</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
        </dependency>
    </dependencies>

    <build>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>        
        </plugins>
    </build>

 <!--   <pluginRepositories>
        <pluginRepository>
            <id>Codehaus</id>
            <url>http://repository.codehaus.org/</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
    <repositories>
        <repository>
            <id>org.jboss.repository.releases</id>
            <name>JBoss Maven Release Repository</name>
            <url>https://repository.jboss.org/nexus/content/repositories/releases</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <distributionManagement>
        <downloadUrl>http://www.springframework.org/download</downloadUrl>
        <site>
            <id>staging</id>
            <url>file:///${user.dir}/target/staging/org.springframework.batch.archetype/${pom.artifactId}</url>
        </site>
        <repository>
            <id>spring-release</id>
            <name>Spring Release Repository</name>
            <url>file:///${user.dir}/target/staging/release</url>
        </repository>
        <snapshotRepository>
            <id>spring-snapshot</id>
            <name>Spring Snapshot Repository</name>
            <url>file:///${user.dir}/target/staging/snapshot</url>
        </snapshotRepository>
    </distributionManagement> -->
</project>
4

6 回答 6

8

您还可以使用强制更新标志(-U),例如:

 mvn clean install -U
于 2012-07-31T09:54:32.027 回答
5

根据错误信息

“描述资源路径位置类型 ArtifactDescriptorException:无法读取 org.slf4j:slf4j-api:jar:1.5.6 的工件描述符:ArtifactResolutionException:无法从http://传输 org.slf4j:slf4j-api:pom:1.5.6 /repo.maven.apache.org/maven2 缓存在本地存储库中,直到中央的更新间隔过去或强制更新后才会重新尝试解析。

这意味着您必须删除文件夹 $HOME/.m2/repository/org/slf4j ,然后您需要通过

mvn clean package

和其他给定的错误消息:

原始错误:无法将工件 org.slf4j:slf4j-api:pom:1.5.6 从/传输到中央 (http://repo.maven.apache.org/maven2): C:\Users\muhsin.HIFX.m2 \repository\org\slf4j\slf4j-api\1.5.6\slf4j-api-1.5.6.pom.ahc0570cfa3a1934af5(系统找不到指定的文件)pom.xml /sample line 1 Maven Dependency Problem”

表示您的存储库访问存在某种问题。要么您有一个未正确配置的代理。我推荐的是使用使生活更轻松的存储库管理器。

于 2012-07-25T07:14:43.567 回答
2
  1. 您可以尝试运行 maven clean 来执行清理
  2. 您可以手动导航到本地存储库中的指定文件并将其删除,然后尝试使用 mvn clean install -e 将其作为新副本下载
于 2012-07-25T04:27:55.387 回答
1

打开这个位置 C:\Users...m2\repository\org\apache\maven\plugins\maven-surefire-plugin\2.10 删除文件 maven-surefire-plugin-2.10 并构建项目。

它对我有用

于 2014-10-06T01:04:31.060 回答
1

删除文件夹中的所有文件 **C:\Users\username.m2\repository** open eclipse 再次重建项目 - (给 eclipse IDE 一些时间来构建工作区)。

于 2016-03-01T09:35:54.623 回答
0

<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>

在属性中添加这一行。为我工作!

于 2020-11-06T10:21:10.400 回答