2013-12-10 253 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