Локальный не 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" в более раннюю фазу жизненного цикла.