Подтвердить что ты не робот

Как заставить Sonatype Nexus обновить?

Я пытаюсь использовать onejar-maven-plugin в моем pom.xml:

<plugin>
    <groupId>org.dstovall</groupId>
    <artifactId>onejar-maven-plugin</artifactId>
    <version>1.4.4</version>
    <executions>
        <execution>
            <configuration>
                <mainClass>com.exmaple.myproj.MpPort_MpSoapPort_Client</mainClass>
                <onejarVersion>0.97</onejarVersion>
                <attachToBuild>true</attachToBuild>
                <classifier>onejar</classifier>
            </configuration>
            <goals>
                <goal>one-jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>

<pluginRepositories>
    <pluginRepository>
        <id>onejar-maven-plugin.googlecode.com</id>
        <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
    </pluginRepository>
</pluginRepositories>

но по какой-то причине попытка его создания через плагин Eclipse Maven (установка Maven) приводит к ошибке BUILD ERROR:

Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository onejar-maven-plugin.googlecode.com (http://onejar-maven-plugin.googlecode.com/svn/mavenrepo)
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2)
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project POM).


Project ID: org.dstovall:onejar-maven-plugin

Reason: POM 'org.dstovall:onejar-maven-plugin' not found in repository: Unable to download the artifact from any repository

  org.dstovall:onejar-maven-plugin:pom:1.4.4

from the specified remote repositories:
  Nexus (https://mynexus.example.com/nexus/content/repositories/central)

 for project org.dstovall:onejar-maven-plugin

Итак, я вручную загрузил onejar-maven-plugin.jar и установил его через командную строку, и я, похоже, получаю аналогичную ошибку

C:\Users\daniel\myproj>mvn install:install-file -Dfile=onejar-maven-plugin-1.4.4.jar -DgroupId=com.jolira -DartifactId=onejar-maven-plugin -Dversion=1.4.4 -Dpackaging=jar
[INFO] Scanning for projects...
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository onejar-maven-plugin.googlecode.com (http://onejar-maven-plugin.googlecode.com/svn/mavenrepo)
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2)
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project POM).


Project ID: org.dstovall:onejar-maven-plugin

Reason: POM 'org.dstovall:onejar-maven-plugin' not found in repository: Unable to download the artifact from any repository

  org.dstovall:onejar-maven-plugin:pom:1.4.4

from the specified remote repositories:
  Nexus (https://mynexus.example.com/nexus/content/repositories/central)

 for project org.dstovall:onejar-maven-plugin

Я понимаю, что, поскольку у нас есть зеркало Nexus, которое не содержит этого конкретного артефакта, все запутывается.

Итак, я пробовал следовать инструкциям Как заставить Sonatype Nexus Regenerate/Reindex метаданные, но вкладка "Обзор индекса" не имеет такого контекстного меню! на нашем Sonatype Nexus.

enter image description here

Я прочитал здесь, что "Nexus только кэширует артефакты, которые запросили клиенты. Поэтому вам нужно настроить своих проектов, чтобы запросить правильные версии". Но , что именно я делал, без каких-либо изменений в результатах.

Как я могу выйти из этой ситуации "курица и яйцо" и получить эту версию onejar-maven-plugin. 1.4.4 в мое зеркало Nexus?

(В качестве альтернативы, как мне попасть в мой локальный кеш .m2?)

4b9b3361

Ответ 1

Вы можете заставить Maven повторно обновлять и запрашивать зависимости, даже если локальное репо содержит метаданные об артефактах, которые не могут быть доступны с -U

mvn clean install -U 

должен работать.

Также вы должны изменить свой settings.xml, чтобы указать на публичную группу, а не только на центральное репо. Подробнее можно найти в книге Nexus.

И вы должны заметить, что в Центральном репозитории нет плагина onejar, который вы пытаетесь использовать. Просмотрите результаты поиска и посмотрите, как groupId com.joilira, а не org.dstovall

Еще больше, если вы действительно хотите использовать плагин onejar от org.dstovall, вы должны добавить URL http://onejar-maven-plugin.googlecode.com/svn/mavenrepo/ в качестве прокси-хранилище для Nexus, добавьте его в открытую группу, а затем используйте открытую группу в settings.xml