JAR-клиент, содержащий зависимости maven - PullRequest
0 голосов
/ 12 января 2012

Я создаю сервис, который содержит клиентский модуль, который использует Spring. Служба, которая будет реализовывать клиента, не содержит Spring, но она зависит от клиента, который имеет зависимости от Spring. В идеале я хотел бы, чтобы клиент включил необходимые зависимости Spring в JAR, но я не могу понять, как этого добиться. Я видел несколько разных примеров использования maven-assembly-plugin, но я бы предпочел не использовать что-то кроме «mvn clean package» для достижения этой цели.

Любая помощь приветствуется.

Ответы [ 2 ]

2 голосов
/ 12 января 2012

maven-shade-plugin позволяет вам создать uber-jar, содержащий некоторые (или все) ваши зависимости.Это должно позволить вам делать то, что вам нужно.

0 голосов
/ 12 января 2012

Связывая единственную цель плагина сборки с жизненным циклом сборки проекта, вы можете выполнить то, что хотите, запустив mvn clean package.

Вырежьте / вставьте конфигурацию pom, чтобы сделать это со страницы использования плагина,

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2.2</version>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id> <!-- this is used for inheritance merges -->
            <phase>package</phase> <!-- bind to the packaging phase -->
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      [...]
</project>

Конечно, вы можете настроить любой из них, чтобы использовать другойпредопределенный дескриптор или даже использовать отдельный файл дескриптора.

...