Я пытаюсь изучить maven как инструмент загрузки, так как это помогает в локальном кэшировании, а также в подключении центрального / удаленного репозитория. Я могу скачать артефакт из удаленного хранилища. Но каждый раз, когда он загружает в целевое местоположение, но не смотрит .m2 хранилище или обновления тамЯ полагаю, что есть некоторые настройки, которые отсутствуют в файле setting.xml или pom.xml.
Цель, которую я намереваюсь загрузить, это проверить, присутствует ли уже артефакт в локальном хранилище .m2 или предопределенный иесли нет, то скачивать только из артефакта.
Используемая команда Maven:
mvn install pre-integration-test -f pom_download.xml -settings settings.xml -Dmayank=test.txt
вывод:
[INFO] --- wagon-maven-plugin:2.0.0:download-single (download-test-data) @ testdownload ---
[INFO] Downloading: https://artifactory.com/artifactory/test.txt to C:\downloads\test.txt
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 30.830 s
[INFO] Finished at: 2019-10-04T06:34:40-07:00
[INFO] ------------------------------------------------------------------------
Setting.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<proxies>
<!-- proxy
| Specification for one proxy, to be used in connecting to the network.
| -->
<proxy>
<id>optional</id>
<active>true</active>
<protocol>https</protocol>
<host></host>
<port></port>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
<proxy>
<id>optional_1</id>
<active>true</active>
<protocol>http</protocol>
<host></host>
<port></port>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
</proxies>
<localRepository>C:\repo_mayank</localRepository>
<servers>
<server>
<id>ubit-artifactory-or</id>
<username>mayank</username>
<password>xxxxx</password>
</server>
</servers>
<profiles>
<profile>
<id>artifactory</id>
<repositories>
<repository>
<id>xxxx</id>
<name>xxxx</name>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<url>https://artifactory.com/</url>
<layout>default</layout>
</repository>
</repositories>
<mirrors>
<mirror>
<id>our-server-repo</id>
<name>C:\repo_mayank</name>
<url>https://artifactory.com/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
</profile>
</profiles>
<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
</settings>
Pom.xml
?xml version='1.0' encoding='utf8'?>
<project>
<groupId>com.mayank</groupId>
<artifactId>testdownload</artifactId>
<version>1.0</version>
<modelVersion>4.0.0</modelVersion>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>2.0.0</version>
<executions>
<execution>
<id>download-test-data</id>
<phase>pre-integration-test</phase>
<goals>
<goal>download-single</goal>
</goals>
<configuration>
<task>
<echo> Hello World !!!</echo>
</task>
<serverId>artifactory</serverId>
<url>https://artifactory.com</url>
<fromFile>${mayank}</fromFile>
<toDir>C:\downloads</toDir>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<mayank> hello </mayank>
</properties>
</project>