что не так с setting.xml и pom.xml при настройке maven - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь изучить 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>

1 Ответ

1 голос
/ 05 октября 2019

Похоже, что плагин maven wagon вообще не использует кэш maven. Если вы хотите загрузить артефакты, связанные с вашим проектом, вы можете использовать плагин зависимостей maven и использовать цель копирования-зависимостей. Если вы просто хотите скопировать некоторые артефакты, используйте цель копирования. Дополнительная информация: http://maven.apache.org/plugins/maven-dependency-plugin/ В любом случае вам нужно указать, что вы хотите в вашем пом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...