Comment configurer pom.xml le fichier à utiliser Nexus gestionnaire de Référentiel

Je suis en utilisant Redhat, java 1.7, maven 3.2.5, jenkins 1.6,git version 2.0.5 et nexus-2.12.0-01

J'ai créé un Local Nexus Repository pour mon développement à l'interne.
Maintenant, Ce que je suis en train de faire est de construire maven projet à l'aide de jenkins avec Nexus Repository Manger Oss.
Je suis en mesure de construire mon projet sans Nexus Repository Manger Oss.

Note : je suis à l'aide de parent pom depuis que j'ai des sous projets.

Ci-dessous sont les étapes que j'ai suivi.

  • Installé Nexus Repository Manger Oss. Il est en place et en cours d'exécution

    voici capture d'écran.
    Comment configurer pom.xml le fichier à utiliser Nexus gestionnaire de Référentiel

  • Installé ojdbc5 pot dans nexus référentiel

Comment configurer pom.xml le fichier à utiliser Nexus gestionnaire de Référentiel

  • Apporté les modifications nécessaires dans setting.xml fichier de .m2 dossier

ici le contenu de setting.xml

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0                                                           http://maven.apache.org/xsd/settings-1.0.0.xsd">

    <mirrors>
        <mirror>
        <!--This sends everything else to /public -->
            <id>nexus</id>
            <mirrorOf>*</mirrorOf>
            <url>http://localhost:8081/nexus/content/groups/public</url>
        </mirror>
    </mirrors>

    <activeProfiles>
        <!--make the profile active all the time -->
        <activeProfile>nexus</activeProfile>
    </activeProfiles>

    <profiles>
        <profile>
            <id>nexus</id>
          <repositories>
          <repository>
          <id>central</id>
          <url>http://maven.apache.org</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
          </repository>
            </repositories>

            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <url>http://maven.apache.org</url>
                    <releases><enabled>true</enabled></releases>
                    <snapshots><enabled>true</enabled></snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>

    <servers>
      <server>
       <id>releases</id>
       <username>deployment</username>
       <password>deployment123</password>
      </server>
      <server>
        <id>snapshots</id>
        <username>deployment</username>
        <password>deployment123</password>
      </server>
    </servers>

</settings> 
  • Ajouté les détails de nexus référentiel dans mon pom.xml

parent pom.xml contenu

HTML:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>parent</groupId>
  <artifactId>A</artifactId>
  <packaging>pom</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>Maven Webapp</name>
  <!--url>http://maven.apache.org</url-->

  <distributionManagement>
    <repository>
      <id>releases</id>
      <url>http://localhost:8081/nexus/content/repositories/thirdparty/</url>
    </repository>
    <snapshotRepository>
      <id>snapshots</id>
      <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
  </distributionManagement>



  <dependencies>
    <dependency>
      <groupId>com.oracle</groupId>
      <artifactId>ojdbc5</artifactId>
      <version>11.2.0.1</version>
    </dependency>
  </dependencies>

  <modules>
    <module>subModule1</module>
    <module>subModule2</module>
  </modules>
</project>

subModule1 de l'pom.xml

HTML:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.a</groupId>
  <artifactId>a</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Webapp</name>

  <distributionManagement>
    <repository>
      <id>releases</id>
      <!-- CHANGE HERE by your team nexus server -->
      <url>http://localhost:8081/nexus/content/repositories/thirdparty/</url>
    </repository>
    <snapshotRepository>
      <id>snapshots</id>
      <!-- CHANGE HERE by your team nexus server -->
      <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
  </distributionManagement>


  <dependencies>

    //dependecies are defined here
  <dependencies>

Dans subModule1 et subModule2 j'ai ajouté le distributionManagement section.

Mais quand je construis mon projet, j'obtiens l'erreur ci-dessous.

[ERREUR] Échec de l'exécution de l'objectif du projet submodule1: ne Peut pas
résoudre les dépendances de projet submodule1:la guerre:1.0-SNAPSHOT: Échec
trouver com.oracle:ojdbc5 jar:11.2.0.1 dans
https://repo.maven.apache.org/maven2 a été mis en cache dans le local
référentiel, la résolution ne sera pas reattempted jusqu'à ce que la mise à jour
l'intervalle de la centrale s'est écoulé ou les mises à jour sont forcé -> [Aide 1]

Je comprends l'erreur est causée par le com.oracle:ojdbc5:jar:11.2.0.1pot de dépendance n'étant pas résolu.

Mais je suis surpris de voir pourquoi il n'est pas ramasser mon nexus référentiel.

Ai-je manqué aucune configuration, ou en suis-je dans un mauvais sens?

Comment puis-je utiliser la connexion locale référentiel pour mes projets?

InformationsquelleAutor Varun | 2016-08-11