Maven 2.2.1无法使用m2eclipse构建EAR项目

时间:2011-03-21 15:57:06

标签: java eclipse maven m2eclipse ear

我无法使用m2eclipse项目构建器在Eclipse 3.6中使用Maven构建EJB EAR。奇怪的是,手动构建(在命令行上或“运行为 - > Maven构建”)工作正常。我已经设置Eclipse以使用外部Maven 2.2.1安装。

错误消息如下:

Build errors for my-app; org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-ear-plugin:2.4.2:generate-application-xml (default-generate-application-xml) on project my-app: Failed to initialize ear modules

显然,application.xml描述符的生成因某些原因而无法确定。

在错误日志视图中,我有以下消息:

Unknown artifact type[test-jar]

我在一个论坛中读过可能是由于缺少“测试”范围的“测试jar”依赖项引起的;但是,我对此进行了双重和三重检查,并且在我的pom.xml文件中找不到任何未编译的“test-jar”依赖项。

我在mvn help中找到了以下条目:effective-pom虽然:

  <dependency>
    <groupId>org.jboss.test</groupId>
    <artifactId>jboss-test</artifactId>
    <version>1.1.4.GA</version>
    <exclusions>
      <exclusion>
        <artifactId>log4j</artifactId>
        <groupId>apache-log4j</groupId>
      </exclusion>
    </exclusions>
  </dependency>

  <!-- ... --->

  <dependency>
    <groupId>jboss.jms-integration-tests</groupId>
    <artifactId>integration-mdb20</artifactId>
    <version>1.0.1.GA</version>
  </dependency>
  <dependency>
    <groupId>jboss.jms-integration-tests</groupId>
    <artifactId>integration-mdb20-durable</artifactId>
    <version>1.0.1.GA</version>
  </dependency>
  <dependency>
    <groupId>jboss.jms-integration-tests</groupId>
    <artifactId>integration-mdb20-selector</artifactId>
    <version>1.0.1.GA</version>
  </dependency>
  <dependency>
    <groupId>jboss.jms-integration-tests</groupId>
    <artifactId>integration-mdb20-userTransaction</artifactId>
    <version>1.0.1.GA</version>
  </dependency>
  <dependency>
    <groupId>jboss.jms-integration-tests</groupId>
    <artifactId>integration-mdb20-userTransactionDups</artifactId>
    <version>1.0.1.GA</version>
  </dependency>
  <dependency>
    <groupId>jboss.jms-integration-tests</groupId>
    <artifactId>jms-integration-tests</artifactId>
    <version>1.0.1.GA</version>
  </dependency>

我不知道这些依赖关系来自哪里,或者它们是否相关。 最奇怪的是,就像我说的那样,当我手动完成时,建筑工作正常。 但是,这意味着我不能使用像WTP集成这样的m2eclipse功能。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

要查找依赖项的来源,请在m2eclipse的Maven POM编辑器中打开您的pom。在“依赖关系层次结构”选项卡的右侧,是已解析的依赖关系列表。这与有效pom依赖列表同义。选择右侧的任何依赖项以及依赖项的来源将显示在左侧。

HTH