2016-11-21 94 views
0

我學習了使用Spring集成,我正在使用在他的網上找到的教程。 使適配器上的練習中,我使用這個基本的POM文件:彈簧集成問題:「無法讀取神器描述」

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    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.intertech.si</groupId> 
    <artifactId>lab2-adapters</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>Spring Integration Lab 2</name> 
    <description>Lab 2 - using adapters</description> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <springframework.version>4.0.4.RELEASE</springframework.version> 
     <spring.integration.version>4.0.0.RELEASE</spring.integration.version> 
     <spring.integration.xml.version>4.0.0.RELEASE</spring.integration.xml.version> 
     <log4j.version>1.2.17</log4j.version> 
    </properties> 

    <dependencies> 

     <dependency> 
      <groupId>org.springframework.integration</groupId> 
      <artifactId>spring-integration-core</artifactId> 
      <version>${spring.integration.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.integration</groupId> 
      <artifactId>spring-integration-stream</artifactId> 
      <version>${spring.integration.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>${log4j.version}</version> 
     </dependency> 
    </dependencies> 
</project> 

以下教程的指示,我需要添加此depencies:

<dependency> 
      <groupId>org.springframework.integration</groupId> 
      <artifactId>spring-integration-file</artifactId> 
      <version>${spring.integration.version}</version> 
     </dependency> 

但是當我做到這一點,我嘗試保存文件,我需要很多錯誤的控制檯日誌:

Description Resource Path Location Type 
Failed to read artifact descriptor for org.springframework.integration:spring-integration-file:jar:4.0.0.RELEASE 

org.eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for org.springframework.integration:spring-integration-file:jar:4.0.0.RELEASE 
    at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:282) 
    at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:198) 
    at org.eclipse.aether.internal.impl.DefaultDependencyCollector.resolveCachedArtifactDescriptor(DefaultDependencyCollector.java:535) 
    at org.eclipse.aether.internal.impl.DefaultDependencyCollector.getArtifactDescriptorResult(DefaultDependencyCollector.java:519) 
    at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:409) 
    at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:363) 
    at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(DefaultDependencyCollector.java:351) 
    at org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:254) 
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:316) 
    at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:172) 
    at org.apache.maven.project.DefaultProjectBuilder.resolveDependencies(DefaultProjectBuilder.java:215) 
    at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:188) 
    at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:119) 
    at org.eclipse.m2e.core.internal.embedder.MavenImpl.readMavenProject(MavenImpl.java:636) 
    at org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.resolveProjectDependencies(DefaultMavenDependencyResolver.java:63) 
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refreshPhase2(ProjectRegistryManager.java:530) 
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager$3.call(ProjectRegistryManager.java:492) 
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager$3.call(ProjectRegistryManager.java:1) 
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176) 
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) 
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:496) 
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:351) 
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:298) 
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.java:398) 
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:345) 
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:1) 
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176) 
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) 
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) 
    at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1351) 
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:342) 
    at org.eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.java:77) 
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39) 
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) 
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Failure to transfer org.springframework.integration:spring-integration-file:pom:4.0.0.RELEASE from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.springframework.integration:spring-integration-file:pom:4.0.0.RELEASE from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org: Errore temporaneo nella risoluzione del nome 
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444) 
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246) 
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:223) 
    at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:267) 
    ... 33 more 
Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Failure to transfer org.springframework.integration:spring-integration-file:pom:4.0.0.RELEASE from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.springframework.integration:spring-integration-file:pom:4.0.0.RELEASE from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org: Errore temporaneo nella risoluzione del nome 
    at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:238) 
    at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:206) 
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:585) 
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:503) 
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421) 
    ... 36 more 
    pom.xml /lab2-adapters-starter line 1 Maven Dependency Problem 

他的問題是在特定的最後depency的加入,因爲如果我嘗試刪除和保存文件,我沒有犯錯要麼。

會發生什麼事?

回答

0

下載文件時出現問題。我不知道爲什麼,但Maven不能自行解決這個問題。到達您的本地存儲庫緩存,如果您沒有更改它,請訪問:[USER-DIR] .m2 \ repository,並刪除「org \ springframework \ integration」。

0

這個pom.xml文件在我的PC環境下工作正常。但我的本地m2存儲庫中沒有其他舊的spring integration jar。因此,根據你的錯誤消息:

Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Failure to transfer org.springframework.integration:spring-integration-file:pom:4.0.0.RELEASE from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.springframework.integration:spring-integration-file:pom:4.0.0.RELEASE from/to central (https://repo.maven.apache.org/maven2): repo.maven.apache.org: Errore temporaneo nella risoluzione del nome

你有沒有注意到消息在您的消息「從https://repo.maven.apache.org/maven2在本地倉庫緩存」?

或許,你以前在你的本地庫版本spring integration jar與我認爲你需要刪除的文件夾$HOME/.m2/repository/org/springframework/integration

spring integration jar.

1)第一種方式(我敢肯定,爲)
衝突

之後,通過使用mvn命令或Eclipse重建並更新maven

2)第二種方式(我不確定)
您不需要刪除任何舊的jar。您只需使用mvn命令或Eclipse執行強制更新到您的存儲庫。