Как создать 2 jar-файла в одном java-модуле: один - uber jar, а другой - не uber? - PullRequest
0 голосов
/ 06 сентября 2018

Я знаю, что могу добиться этого, создав 2 модуля, но просто хочу знать, возможно ли это сделать в одном модуле? Спасибо

1 Ответ

0 голосов
/ 06 сентября 2018

Maven Shade Plugin, если вы запускаете цель shade, по умолчанию создаст два JAR:

  • your-artifact.jar - Uber-JAR и
  • original-your-artifact.jar - оригинал, не Uber-JAR.

В качестве альтернативы, вы можете указать другое имя для Uber-JAR с помощью опции конфигурации outputFile (см. Ниже).В этом случае ваш «обычный» JAR будет иметь «обычное» имя.

  <plugin>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.1.1</version>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>shade</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <outputFile>${project.build.directory}/uberjar-name.jar</outputFile>
    </configuration>
  </plugin>

При такой конфигурации результаты будут такими:

  • your-artifact.jar - оригинал, не-Uber-JAR, и
  • uberjar-name.jar- Uber-JAR.
...