Как получить финальную банку с зависимостью внутри этой банки в формате баночки? - PullRequest
0 голосов
/ 27 мая 2019

Мне нужна конфигурация для Maven, где все библиотеки внутри проекта находятся в финальной банке в формате jar ... Так что мне нужно, чтобы внутри финальной фляги были фляги. Для этого я могу использовать только Maven. Я уже безуспешно пытался с плагинами, как один сосуд. Спасибо

Ответы [ 2 ]

0 голосов
/ 27 мая 2019

Не уверен для вложенного jar, потому что я еще не пробовал.

Но я создал файл .jar со всеми зависимостями проекта (указан в файле pom)

Попробуйте выполнить команду mvn втерминал ...

mvn org.apache.maven.plugins: плагин maven-assembly: 2.6: assembly -DdescriptorId = пакет jar-with-dependencies

0 голосов
/ 27 мая 2019

Чтобы создать fat jar, включающий все ваши jar файлы, добавьте следующий код в pom.xml.Когда вы clean and build проект, это автоматически создаст файл fat jar.Вам необходимо указать тег main class внутри <mainClass>.Вот и все.

<project>
      <build>
          <plugins>
              <plugin>
                  <artifactId>maven-assembly-plugin</artifactId>
                  <configuration>
                      <archive>
                          <manifest>
                              <addClasspath>true</addClasspath>
                              <mainClass>your.main.class</mainClass>
                          </manifest>
                      </archive>
                      <descriptorRefs>
                          <descriptorRef>jar-with-dependencies</descriptorRef>
                      </descriptorRefs>
                  </configuration>
                  <executions>
                      <execution>
                          <id>final-jar-with-dependencies</id>
                          <phase>package</phase>
                          <goals>
                              <goal>single</goal>
                          </goals>
                      </execution>
                  </executions>
              </plugin>
          </plugins>
      </build>
    </project>
...