Добавьте jar в локальный репозиторий maven перед сборкой

У меня есть файл jar третьей части, который не существует удаленно, файл, расположенный в каталоге проекта, я хочу добавить этот jar в локальный репозиторий, когда я выполняю mvn install, мой текущий код для этого

    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <version>2.4</version>
            <executions>
                <execution>
                    <phase>initialize</phase>
                    <goals>
                        <goal>install-file</goal>
                    </goals>
                    <configuration>
                        <groupId>myJar1.0</groupId>
                        <artifactId>myJar1.0</artifactId>
                        <version>1.0</version>
                        <packaging>jar</packaging>
                        <file>myJar1.0.jar</file>
                    </configuration>
                </execution>
            </executions>
        </plugin>

2 ответа

Решение

Использование менеджера репозитория является лучшим решением. Тем не менее, вот решение, которое можно настроить полностью через pom.xml конфигурация (без вмешательства разработчика):

Добавьте локальный репозиторий, указывающий на ваше местоположение фляги:

<repositories>
  <repository>
    <id>project-local-repo</id>
    <url>file://${project.basedir}/src/lib/</url>
  </repository>
</repositories>

Переместите / переименуйте вашу библиотеку в ${project.basedir}/src/lib/some-group-name/myJar-1.0.jar

И тогда вы можете включить зависимость:

<dependency>
    <groupId>some-group-name</groupId>
    <artifactId>myJar</artifactId>
    <version>1.0</version>
</dependency>

Зависимость будет подбираться при каждой сборке. Я написал аналогичный ответ здесь: запуск Spring Boot для REST

На самом деле это не так сложно.

Есть 2 случая, когда вам нужно выполнить команду Maven, чтобы вручную включить jar в локальный репозиторий Maven.

  • Банку, которую вы хотите использовать, не существует в репозитории центра Maven.
  • Вы создали собственный jar-файл, и его нужно использовать для другого проекта Maven.

шаги:

1. установить mvn:

поставьте свою банку куда-нибудь, давайте примем ее под c:\:

 mvn install:install-file -Dfile=c:\myJar{version}.jar 
 -DgroupId=YOUR_GROUP -DartifactId=myJar -Dversion={version} -Dpackaging=jar

Теперь банка myJar копируется в ваш локальный репозиторий Maven.

2. pom.xml:

После установки просто объявляет myJar координаты в pom.xml.

<dependency>
     <groupId>YOUR_GROUP</groupId>
     <artifactId>myJar</artifactId>
     <version>{version}</version>
</dependency>

3. Готово

Постройте его, теперь банку myJar можно получить из вашего локального репозитория Maven.


ПРИМЕЧАНИЕ: этот пример основан на другом примере, который я рекомендую вам прочитать для получения дополнительной информации.

Другие вопросы по тегам