Каждый раз, когда я создаю любой из новых проектов с файлом jar (mvn install
), maven загружает библиотеки из своего репозитория в корень проектов.
Как выглядит помпон:
<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.strings</groupId>
<artifactId>FindStrings</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>7</source>
<target>7</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>RELEASE</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Какие libs maven скачать вы можете увидеть на скриншоте (все кроме src
)
Насколько я понимаю, те библиотеки, которые maven использует для сборки проекта (для корректной работы maven-плагинов), так могу ли я указать путь для maven, чтобы не загружать библиотеки каждый раз для нового проекта и не мусорить в корне проекта? Спасибо
P.S. Переменные среды (M2, M2_HOME) были установлены
Определенно что-то не так, потому что загрузки должны идти в $HOME/.m2/repository
, а не в ваш проект....
Что содержит ваш settings.xml
?
@ Ros5292, у maven есть собственные репозитории для извлечения библиотек для выполнения своих целей с помощью плагинов, а также он знает, как получить их по имени плагина.
Руслан в комментариях навел меня на верную мысль. Я проверил settings.xml и не нашел пути к локальному репозиторию maven. Моя проблема исправлена путем добавления к ней правильного пути.
Укажите путь в setting.xml
к вашему local repository
. После указания пути и выполнения команды maven install
maven загружает библиотеки и jar из своего центрального репозитория в путь к локальному репозиторию. И впредь, если нужны те же библиотеки или jar, maven вместо повторной загрузки jar и библиотек будет обращаться к ним из локального пути репо.
Вам нужно определить все банки как зависимости в файле
pom.xml
, но я также не понимаю, как ваш maven знает об этих банках для загрузки?