Локальный не maven jar ищет на сервере maven. Зачем?

[ОШИБКА] Не удалось выполнить цель на портале проекта: не удалось разрешить зависимости для проекта com.learning:portal:war:1.0.0-SNAPSHOT: не удалось найти артефакт com.myapp.Local-2017:jar:1.0 в центральном ( https://repo.maven.apache.org/maven2)

В pom.xml:

<dependency>
    <groupId>com.myapp.Local</groupId>
    <artifactId>Local-2017</artifactId>
    <version>1.0</version>
</dependency>

Плагины:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.5</version>
    <executions>
        <execution>
            <phase>clean</phase>
                <configuration>
            <repositoryLayout>default</repositoryLayout>
                <groupId>com.myapp.Local</groupId>
                <artifactId>Local-2017</artifactId>
                <version>1.0</version>
                <packaging>jar</packaging>
                <file>${basedir}/lib/Local.jar</file>
                <generatePom>true</generatePom>
            </configuration>
            <goals>
                <goal>install-file</goal>
            </goals>
        </execution>
    </executions>
</plugin>

2 ответа

Вы объявили зависимость Maven

<dependency>
  <groupId>com.myapp.Local</groupId>
  <artifactId>Local-2017</artifactId>
  <version>1.0</version>
</dependency>

Если Maven не найдет его в вашем локальном хранилище, он попытается загрузить его извне. Если у вас нет settings.xml он попробует MavenCentral.

Я подозреваю, что отчасти проблема в том, что вы поместили выполнение "maven-install-plugin" в "чистую" фазу. Согласно документации Maven 3.5, "чистая" фаза является частью "чистого" жизненного цикла; т.е. запускается, когда вы запускаете "mvn clean".

Я думаю, что он должен быть в жизненном цикле "по умолчанию", вероятно, в фазе "проверки" или "инициализации". Обратите внимание, что разрешение зависимостей обычно происходит на более позднем этапе. Это происходит на первом этапе, который использует плагин, который требует разрешения зависимостей в качестве предварительного условия. Поместите цель "install-file" в более раннюю фазу жизненного цикла.

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