2013-12-10 70 views
10

我正在使用Maven版本3.1.1。我正在嘗試使用dependency springs-ws進行編譯。我看,這應該在Maven中通過下列網站存在:
Maven Repository
Maven Search
Maven無法找到依賴關係

這裏是堆棧跟蹤從 「MVN編譯-e」:

>mvn compile -e 
[INFO] Error stacktraces are turned on. 
[INFO] Scanning for projects... 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Test 1.0.0 
[INFO] ------------------------------------------------------------------------ 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 0.233s 
[INFO] Finished at: Tue Dec 10 13:44:36 CST 2013 
[INFO] Final Memory: 6M/122M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal on project Test: Could not resolve depe 
ndencies for project Test:Test:jar:1.0.0: Failure to find org.spri 
ngframework.ws:spring-ws:jar:2.1.4.RELEASE in http://repo.maven.apache.org/maven 
2 was cached in the local repository, resolution will not be reattempted until t 
he update interval of central has elapsed or updates are forced -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal o 
n project Test: Could not resolve dependencies for project Test:Co 
rrectAddress:jar:1.0.0: Failure to find org.springframework.ws:spring-ws:jar:2.1 
.4.RELEASE in http://repo.maven.apache.org/maven2 was cached in the local reposi 
tory, resolution will not be reattempted until the update interval of central ha 
s elapsed or updates are forced 
     at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDe 
pendencies(LifecycleDependencyResolver.java:220) 
     at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resol 
veProjectDependencies(LifecycleDependencyResolver.java:127) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAr 
eResolved(MojoExecutor.java:257) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor 
.java:200) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor 
.java:153) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor 
.java:145) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje 
ct(LifecycleModuleBuilder.java:84) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje 
ct(LifecycleModuleBuilder.java:59) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBu 
ild(LifecycleStarter.java:183) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl 
eStarter.java:161) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun 
cher.java:289) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav 
a:229) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La 
uncher.java:415) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java: 
356) 
Caused by: org.apache.maven.project.DependencyResolutionException: Could not res 
olve dependencies for project Test:Test:jar:1.0.0: Failure to find 
org.springframework.ws:spring-ws:jar:2.1.4.RELEASE in http://repo.maven.apache. 
org/maven2 was cached in the local repository, resolution will not be reattempte 
d until the update interval of central has elapsed or updates are forced 
     at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(D 
efaultProjectDependenciesResolver.java:198) 
     at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDe 
pendencies(LifecycleDependencyResolver.java:195) 
     ... 22 more 
Caused by: org.eclipse.aether.resolution.DependencyResolutionException: Failure 
to find org.springframework.ws:spring-ws:jar:2.1.4.RELEASE in http://repo.maven. 
apache.org/maven2 was cached in the local repository, resolution will not be rea 
ttempted until the update interval of central has elapsed or updates are forced 
     at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDepen 
dencies(DefaultRepositorySystem.java:384) 
     at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(D 
efaultProjectDependenciesResolver.java:192) 
     ... 23 more 
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Failure to 
find org.springframework.ws:spring-ws:jar:2.1.4.RELEASE in http://repo.maven.ap 
ache.org/maven2 was cached in the local repository, resolution will not be reatt 
empted until the update interval of central has elapsed or updates are forced 
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(Defa 
ultArtifactResolver.java:459) 
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtif 
acts(DefaultArtifactResolver.java:262) 
     at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDepen 
dencies(DefaultRepositorySystem.java:367) 
     ... 24 more 
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Failure to fin 
d org.springframework.ws:spring-ws:jar:2.1.4.RELEASE in http://repo.maven.apache 
.org/maven2 was cached in the local repository, resolution will not be reattempt 
ed until the update interval of central has elapsed or updates are forced 
     at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newExcepti 
on(DefaultUpdateCheckManager.java:232) 
     at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtif 
act(DefaultUpdateCheckManager.java:206) 
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownlo 
ads(DefaultArtifactResolver.java:599) 
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownl 
oads(DefaultArtifactResolver.java:518) 
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(Defa 
ultArtifactResolver.java:436) 
     ... 26 more 
[ERROR] 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please rea 
d the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyReso 
lutionException 

請讓我知道如果我應該發佈任何其他信息來幫助。任何幫助是極大的讚賞。

UPDATE:

<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>Test</groupId> 
    <artifactId>Test</artifactId> 
    <version>1.0.0</version> 
    <dependencies> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.17</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>3.2.5.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>3.2.5.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.ws</groupId> 
      <artifactId>spring-ws</artifactId> 
      <version>2.1.4.RELEASE</version> 
     </dependency> 
    </dependencies> 
</project> 



更新2:
刪除現有的存儲庫,並重新運行MVN編譯後。我仍然得到錯誤。

[ERROR] Failed to execute goal on project Test: Could not resolve depe 
ndencies for project Test:Test:jar:1.0.0: Could not find artifact 
org.springframework.ws:spring-ws:jar:2.1.4.RELEASE in central (http://repo.maven 
.apache.org/maven2), try downloading from http://www.springsource.com/download/c 
ommunity?project=Spring%20Web%20Services -> [Help 1] 
+0

你能包括你的pom嗎? –

+0

您可能想要清除本地存儲庫並查看是否可以解決問題。 –

+0

@tieTYT我是Maven的新手,能否請您提供一下命令。這樣我們就在同一頁面上......而且我做得很對;) – Joe

回答

13

看着The Central Repository

如果你做一個搜索彈簧WS你會看到,世界上只有可供下載的你正是在指定的POM文件的pom.xml中。

看起來你可能想使用Spring-WS-核心,像這樣:

 <dependency> 
     <groupId>org.springframework.ws</groupId> 
     <artifactId>spring-ws-core</artifactId> 
     <version>2.1.4.RELEASE</version> 
    </dependency> 
+0

這工作!下一次,我該如何解決這個問題呢? – Joe

+3

我剛從經驗中知道。在我們來回之後,我更仔細地閱讀了您的錯誤,並看到了它的默認回購名稱。然後我搜索了你指定的圖書館,並看到它只說了pom。一般而言,如果不是javadoc和源代碼罐,至少需要列出pom和jar。祝你好運。 –

+0

謝謝,我看到它在「下載」列下列出「jar」的位置。我正在慢慢獲得Maven的竅門:) – Joe

0

我不知道是否有一個更「正規」的方式來做到這一點:去你的本地倉庫,CD到這種依賴應該是和刪除所有文件的目錄(你甚至可以刪除整個org/sprimgframework/ws),然後重新啓動mvn。它將嘗試重新加載所有缺失的依賴項。

+0

我刪除了org/springframework/ws,並且收到相同的錯誤。 – Joe

+0

尋找那個依賴關係的pom我看到它是從ext3rnal存儲庫下載的......但我不確定是否因爲我使用我的手機而且很難閱讀。我對項目使用了相同的依賴關係,所以我會讓你知道如何配置。 – Andrea

+0

好的,謝謝。看起來spring-ws應該是相當常用的。我確信我只是在做一個Maven新手的錯誤。 – Joe

2

查找您的settings.xml文件,這是maven用來查找您的存儲庫的文件。看看它指向的是什麼回購,並檢查回購確保你想要的罐子存在那裏。

例如

<profiles> 
    <profile> 
     <id>default</id> 
     <repositories> 
      <repository> 
       <id>smss-group-m2</id> 
       <url>http://repo.mycompany.net/nexus/content/groups/smss-group-m2/</url> 
       <releases> 
        <updatePolicy>always</updatePolicy> 
       </releases> 
      </repository> 
+0

我剛剛下載Maven,所以它是默認的。在settings.xml中查看後,「profiles」標籤中沒有任何內容。 – Joe

+0

你有沒有回購物品? –

+0

我沒有看到任何。基於編譯輸出,看起來Maven正在尋找「http://repo.maven.apache.org/maven2」。但我沒有看到指定的地方。 – Joe