Maven - 如何构建构建依赖jar文件?

时间:2010-05-21 15:47:30

标签: maven-2 cxf

我运行一个简单的CXF maven项目http://cxf.apache.org/docs/using-cxf-with-maven.html,并获得错误

[INFO] [cxf-codegen:wsdl2java {execution: generate-sources}]
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------
[INFO] org/springframework/core/io/support/ResourcePatternResolver

org.springframework.core.io.support.ResourcePatternResolver
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: org/springframework/core/io/support/ResourcePatternResolver
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)

我不知道如何将springframework-core依赖?

我在下面尝试了大多数答案

       <dependency>
         <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>2.5.6</version>
   </dependency>
</dependencies>

但它没有帮助,我也不知道为什么它取决于springframework

如果我将jar文件放在$ M2_HOME / lib下,它是否有效,但是它是否正确?因为当我解决这个问题时,需要在那里添加更多的lib,我可以把它放到某个地方的pom.xml中吗?

我尝试将<dependencies/>放在<build>标记内,但它不起作用

我的maven是windows上的2.2.1

4 个答案:

答案 0 :(得分:2)

  

如果我将jar文件放在$ M2_HOME / lib下,它是否有效,但是它是否正确?

不,绝对不是。要添加依赖项,您需要在pom.xml中声明它,如下所示:

<project>
  ...
  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>???</version>
    </dependency>
    ...
  </dependencies>
</project>

但是我不明白为什么你必须添加这个依赖,spring-core cxf的依赖,你应该传递它。但是,您没有提供足够的上下文信息来获得更精确的答案。

答案 1 :(得分:1)

您必须在pom.xml中定义它

阅读http://maven.apache.org/pom.html#Dependencies

上的文档

答案 2 :(得分:1)

您需要将其添加到<dependencies>部分的Maven pom.xml文件中:

 <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>???</version>
  </dependency>

版本号取决于您使用的弹簧版本。 (我使用2.0作为版本#,以及spring 2.0.8)。

答案 3 :(得分:1)

最后我自己发现,这是由于我的springframework-2.5.5软件包从本地存储库中出错。 jar文件不正确。我稍后会在eclipse中注意到这一点

Pascal的回答也是正确的。

springframework-2.5.5由maven自动下载,遗憾的是它已经坏了,所以它仍然会在课堂上抱怨,如果我把springframework-2.5.6放在里面,即使它会被下载,也不会被使用, maven仍然认为它将springframework-2.5.5加载到其类路径中。

如果我输入%M2_HOME%/ lib,肯定会是maven的类路径,使用它是错误的。

因为我之前遇到过这种问题,现在我知道它是什么了。

摘要:检查您的依赖文件以查看包是否正确

顺便说一句:感谢所有特别帕斯卡