Maven 2.2.1 не в состоянии построить проект EAR с m2eclipse - PullRequest
4 голосов
/ 21 марта 2011

У меня возникли проблемы при создании EJB EAR с Maven в Eclipse 3.6 с разработчиком проекта m2eclipse. Любопытно, что ручная сборка (либо в командной строке, либо с помощью команды «Выполнить как -> сборка 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]

Я прочитал на форуме, что может быть вызвано зависимостью "test-jar", в которой отсутствует область "test"; однако я дважды и трижды проверил это и не могу найти никаких незаданных зависимостей «test-jar» в моих файлах pom.xml.

Я нашел следующие записи с помощью mvn help :ffective-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>

Я понятия не имею, откуда берутся эти зависимости или они вообще актуальны. Самое любопытное, что, как я уже сказал, здание работает нормально, когда я делаю это вручную. Однако это означает, что я не могу использовать некоторые функции m2eclipse, такие как интеграция WTP.

Есть предложения?

1 Ответ

1 голос
/ 21 марта 2011

Чтобы узнать, откуда берутся зависимости, откройте pom в редакторе Maven POM m2eclipse.Справа от вкладки «Иерархия зависимостей» находится список разрешенных зависимостей.Это синонимично списку зависимостей эффективная помпа.Выберите любую зависимость справа, и откуда она появится, будет показано слева.

HTH

...