Баночка зависит от занятия в военном проекте - PullRequest
6 голосов
/ 24 марта 2010

Предположим, у меня есть проекты войны и фляги, определенные в maven.

Проект Jar зависит от проекта War

Мне удалось заставить это работать в пакетном режиме, добавив

В военном проекте <attachClasses> к истине в плагине войны.

И сделать зависимость от

        <groupId>com</groupId>
        <artifactId>oneway-delegator</artifactId>
        <version>1.0</version>
        <classifier>classses</classifier>

в банке.

Но при запуске только компиляции классы jar не создаются и все не получается.

Любые люди идеи ??

Ответы [ 2 ]

12 голосов
/ 24 марта 2010

Но при запуске только компиляции классы jar не создаются и все терпит неудачу.

Вы действительно можете настроить подключаемый модуль maven-war-plugin для упаковки / развертывания классов и ресурсов, включенных в ваше веб-приложение, как «прикрепленный» JAR-артефакт с классификатором со следующей конфигурацией:

<project>
  ...
  <artifactId>mywebapp</artifactId>
  <version>1.0-SNAPSHOT</version>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>X.Y</version>
        <configuration>
          <attachClasses>true</attachClasses>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>

Но этот артефакт создается во время фазы package, поэтому не ожидайте, что он будет там, если вы запустите только compile.

Обратите внимание, что эта опция конфигурации была введена для очень специфического варианта использования, варианта использования тощей войны. Если вам необходимо повторно использовать этот JAR-файл в другом проекте, рекомендуется в общем случае переместить классы в отдельный модуль, который создает JAR-файл, а затем объявить зависимость от этого JAR-файла как из вашего веб-приложения, так и из любых других проектов, которые нужно это.

7 голосов
/ 24 марта 2010

Не делай этого.

Это неприемлемая зависимость для того, чтобы сделать jar (простой java-код) зависимым от войны (специфический пакет приложений Java EE). Если в вашей войне есть код, от которого вы зависите, то этот код должен быть в своем собственном jar-файле, и тогда и веб-приложение, и проект jar будут иметь общую зависимость от него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...