Как включить внешние банки в процесс сборки maven jar?

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

Как адаптировать мой файл pom, чтобы добавить эти банки? ток:

    <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/classes/lib</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.2-beta-4</version>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
    </plugins>

Ответы

Ответ 1

Вы можете включить внешние банки в свой путь сборки в зависимости от <scope>system</scope> .

Проверьте ссылку

Ответ 2

Вам нужно использовать команду ниже, чтобы добавить внешнюю банку в папку .m2

mvn install:install-file -Dfile=[JAR] -DgroupId=[some.group] -DartifactId=[Some Id] -Dversion=1.0.0 -Dpackaging=jar

Это добавит данный jar в вашу папку .m2. После этого перейдите к pom.xm и просто добавьте зависимость с заданным идентификатором группы, идентификатором и версией артефакта.

Ответ 3

Простое решение для этого - добавить его в локальный репозиторий Maven.

Один из способов сделать это - установить команды mvn, как предложено в предыдущем посте.

Другой простой способ,

  1. В вашем eclipse ide щелкните правой кнопкой мыши на проекте и выберите опцию Maven.
  2. Выберите Установить или развернуть артефакт в хранилище maven и нажмите "Далее".
  3. Нажмите на ссылку рядом с флажком Файл артефакта & выберите файл фляги.
  4. Введите GroupId и ArtifactId и версию, гарантирующую генерацию pom & создать контрольную сумму проверены & упаковка баночка

Нажмите на финиш, Уолла !!! Ваша работа завершена, jar добавлен в ваш локальный репозиторий, который вы можете определить в каталоге setting.xml или m2.

Теперь просто добавьте простую зависимость maven согласно GroupId, ArtifactId & версия фляги, которую вы ввели в соответствии с импортом, и что ваша внешняя фляга будет упакована maven.