Как использовать Maven pom для загрузки файлов jar только в определенный каталог?


есть ли способ загрузить зависимости из pom.xml-файл в указанную папку на java? Я могу запустить команду maven с java, и я получил сообщения загрузки, но я не знаю, где maven хранит эти библиотеки? Как я могу загрузить эти зависимости в определенную папку?

5 59

5 ответов:

взгляните на плагин зависимости maven, в частности copy-dependencies цель. Элемент раздел Использование описывает, как сделать именно то, что вы хотите.

чтобы сделать это из командной строки просто сделать:

$ mvn dependency:copy-dependencies -DoutputDirectory=OUTPUT_DIR
  1. перейти на этот сайт:http://jar-download.com/online-maven-download-tool.php

  2. вставьте XML зависимостей Maven

  3. загрузите файлы jar в виде ZIP.

добавьте в pom что-то похожее на следующее.XML-код:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <configuration>
        <outputDirectory>
            ${project.build.directory}
        </outputDirectory>
    </configuration>
</plugin>

затем запустите mvn clean dependency:copy-dependencies для выполнения копирования. Объедините это с плагин сборки и вы можете упаковать все в самодостаточный архив для распространения.

Maven хранит все это в своем локальном репозитории Maven2. По умолчанию он будет хранить их в домашнем каталоге пользователя в каталоге под названием репозиторий.

вы можете использовать цель Maven-dependency-plugin под названием copy, чтобы взять все зависимости вашего проекта и поместить их в папку.

http://maven.apache.org/plugins/maven-dependency-plugin/copy-mojo.html

как пояснил здесь, вы можете использовать Maven-dependency-plugin: get для этого.

например, если вы хотите скачать org.apache.hive:hive-common:2.1.1 в локальной папке, выполните следующее:

mvn dependency:get -Ddest=./ -Dartifact=org.apache.hive:hive-common:2.1.1

если вы хотите скачать последний 3.0.0-SNAPSHOT:tar.gz версия com.orientechnologies:orientdb-community-gremlin С https://oss.sonatype.org/content/repositories/snapshots хранилище снимков, выполните это:

mvn dependency:get -Ddest=./ -DremoteRepositories=sonatype-nexus-snapshots::::https://oss.sonatype.org/content/repositories/snapshots -Dartifact=com.orientechnologies:orientdb-community-gremlin:3.0.0-SNAPSHOT:tar.gz