Плагин зависимостей maven может потенциально решить вашу проблему.
Если у вас есть pom
, созданный со всеми вашими зависимостями проекта, все, что вам нужно сделать, это запустить mvn dependency:copy-dependencies
, и вы найдете папку target/dependencies
, заполненную всеми зависимостями, в том числе транзитивными.
Я наконец понял, как использовать Maven. Из Eclipse создайте новый проект Maven.
Загрузите Maven, извлеките архив, добавьте папку /bin
в путь.
Проверить установку из командной строки, запустив mvn -v
(будет печатать версию и путь установки java)
Изменить на корневую папку проекта (где находится pom.xml
) и запустить :
mvn dependency:copy-dependencies
Все jar-файлы загружаются в /target/dependency
.
Чтобы установить другой выходной каталог:
mvn dependency:copy-dependencies -DoutputDirectory="c:\temp"
Теперь можно повторно использовать этот проект Maven для всех загрузок зависимостей, изменив pom.xml
Добавить jars в java-проект по пути сборки -> настроить путь сборки -> библиотеки -> добавить JAR ..
На основе ответа @Raghuram я найду учебник по Копирование зависимостей проекта , Just:
pom.xml
и найдите это: <project>
[...]
<build>
<plugins>
...
</plugins>
</build>
[...]
</project>
<plugins> ... </plugins>
на: <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
mvn dependency:copy-dependencies
После того, как он закончится, он создаст папку target/dependency
во всех зависимостях jar
от текущей директории, в которой живет pom.xml
.
Я нашел следующую команду
mvn dependency:copy-dependencies -Dclassifier=sources
здесь maven.apache.org
Создайте файл ivy.xml для отображения зависимостей вашего проекта:
<ivy-module version="2.0">
<info organisation="org.demo" module="demo"/>
<configurations defaultconfmapping="default"/>
<dependencies>
<dependency org="commons-lang" name="commons-lang" rev="2.6"/>
..
</dependencies>
</ivy-module>
Загрузка этих банок и их транзитивных зависимостей теперь может быть выполнена одним из двух способов.
Ivy может быть запущен как программа командной строки . Следующий пример будет загружен в локальный каталог «lib»:
java -jar ivy-2.2.0.jar -ivy ivy.xml -retrieve "lib/[artifact].[ext]"
ivy лучше всего использовать, когда он интегрирован в вашу сборку ANT. Следующий пример предназначен для загрузки баннеров в локальный каталог lib и генерирует отчет HTML для анализа зависимости.
<target name="retrieve" description="Retrieve dependencies locally">
<ivy:retrieve pattern="${lib.dir}/[artifact].[ext]"/>
<ivy:report todir="${report.dir}" graph="false"/>
</target>
Проверьте, есть ли у вас файлы конфигурации в каталоге ${MAVEN_HOME}/conf
, например settings.xml
. Эти файлы переопределяют параметры из папки .m2
, и из-за этого папка репозитория из .m2
может быть не видна или отброшена.