web-dev-qa-db-fra.com

Comment forcer Sonatype Nexus à se mettre à jour?

J'essaie d'utiliser onejar-maven-plugin dans mon 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>

mais pour une raison quelconque, essayer de le construire via le plugin Eclipse Maven (installation de Maven) entraîne une ERREUR DE CONSTRUCTION:

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's 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

J'ai donc téléchargé manuellement onejar-maven-plugin.jar et l'installer via la ligne de commande et il semble que j'obtienne une erreur similaire:

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's 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

Ma compréhension est que parce que nous avons un miroir Nexus qui ne contient pas cet artefact particulier, les choses se confondent.

J'ai donc essayé de suivre les instructions sur Comment forcer Sonatype Nexus Regenerate/Reindex its Metadata mais l'onglet "Browse Index" n'a pas un tel menu contextuel! sur notre Sonatype Nexus.

enter image description here

J'ai lu ici que "Nexus ne met en cache que les artefacts que les clients ont demandés. Vous devez donc configurer vos poms de projet pour demander les versions appropriées". Mais c'est exactement ce que j'ai fait - sans aucun changement dans le résultat.

Comment puis-je sortir de cette situation "poulet et oeuf" et obtenir ce ver onejar-maven-plugin. 1.4.4 dans mon miroir Nexus?

(Sinon, comment puis-je le mettre dans mon cache local .m2?)

18
Withheld

Vous pouvez forcer Maven à mettre à jour et à nouveau demander des dépendances même si le référentiel local contient des métadonnées sur les artefacts non disponibles avec -U

mvn clean install -U 

devrait marcher.

Vous devez également modifier votre settings.xml pour pointer directement vers le groupe public plutôt que vers le référentiel central. Plus d'informations peuvent être trouvées dans le livre Nexus .

Et vous devriez noter que le référentiel central n'a pas le plugin onejar que vous essayez d'utiliser. Consultez le résultats de recherche et voyez comment le groupId est com.joilira et pas org.dstovall

De plus, si vous voulez vraiment utiliser le plugin onejar de org.dstovall vous devez ajouter l'url http://onejar-maven-plugin.googlecode.com/svn/mavenrepo/ comme référentiel proxy pour Nexus, l'ajouter au groupe public, puis utiliser le public groupe dans votre settings.xml

23
Manfred Moser