WebLogic Server 12.2.1.3 et Maven

Cet article présente l’intégration des librairies WebLogic Server 12.2.1.3 dans un repository Maven local. Cela permettra ensuite de construire des projets Java utilisant les librairies de WebLogic Server.

Avant toute chose, il est nécessaire de s’enregistrer chez Oracle pour pouvoir accéder à distance à ses repos Maven :

https://www.oracle.com/webapps/maven/register/license.html

Installation de Maven

Vous pouvez utiliser votre propre installation de Maven pour peu que sa version soit au minimum la 3.0.5 ou en installer une depuis http://maven.apache.org

Si vous ne disposez pas d’une installation Maven, WebLogic Server 12.2.1.3 en propose une dans le répertoire

ORACLE_HOME/oracle_common/modules/org.apache.maven_3.0.5

Ne pas oublier de fixer les variables d’environnement M2_HOME et PATH pour localiser l’installation Maven.

WINDOWS :

set M2_HOME=<emplacement de Maven>
set PATH=%M2_HOME%\bin;%PATH%

LINUX :

export M2_HOME=<emplacement de Maven>
export PATH=${M2_HOME}/bin:$PATH%

 Configuration de Maven

L’accès aux repositories distants est assurée par défaut par le plugin HTTP WAGON, inclu dans Maven.

Ce plugin doit être configuré dans le fichier M2_HOME/conf/settings.xml pour y indiquer l’identifiant et le mot de passe de l’utilisateur enregistré auprès d’Oracle.

Extrait du fichier de configuration settings.xml
 <server>
    <id>maven.oracle.com</id>
    <username>IDENTIFIANT</username>
    <password>MOT DE PASSE</password>
    <configuration>
      <basicAuthScope>
        <host>ANY</host>
        <port>ANY</port>
        <realm>OAM 11g</realm>
      </basicAuthScope>
      <httpConfiguration>
        <all>
          <params>
            <property>
              <name>http.protocol.allow-circular-redirects</name>
              <value>%b,true</value>
            </property>
          </params>
        </all>
      </httpConfiguration>
    </configuration>
  </server>

Remplacer IDENTIFIANT et MOT DE PASSE par leur valeur.

Le mot de passe peut être inscrit en clair mais il est plus sage de le chiffrer avant :

Créer un fichier settings-security.xml dans le répertoire HOME/.m2

Créer et chiffrer le master password Maven à l’aide de la commande

mvn --encrypt-master-password <password>

Copier le mot de passe chiffré et insérez-le dans le fichier settings-security.xml entre les balises <master>

settings-security.xml
<settingsSecurity>
  <master>{MOT DE PASSE CHIFFRE}</master>
</settingsSecurity>

Sauvegarder le fichier.

Générer ensuite une version chiffrée du mot de passe d’accès à votre compte Oracle :

mvn --encrypt-password <MOT DE PASSE DU COMPTE ORACLE>

Faire un copier/coller du mot de passe chiffré obtenu avec cette commande dans le fichier M2_HOME/conf/settings.xml
Référence : https://maven.apache.org/guides/mini/guide-encryption.html

Installation du plugin de synchronisation

Le plugin est disponible dans l’installation WebLogic :

ORACLE_HOME/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/12.1.3/oracle-maven-sync-12.2.1.pom
ORACLE_HOME/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/12.2.1/oracle-maven-sync-12.2.1.jar

 

Lancer un shell et se placer dans le répertoire ORACLE_HOME/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/12.2.1

Lancer l’installation

mvn install:install-file -DpomFile=oracle-maven-sync-12.2.1.pom -Dfile=oracle-maven-sync-12.2.1.jar

 

Vérifier l’installation du plugin en demandant l’aide

mvn help:describe -Dplugin=com.oracle.maven:oracle-maven-sync -Ddetail

Synchronisation du repository local

La synchronisation est réalisée avec la commande suivante :

mvn com.oracle.maven:oracle-maven-sync:push -DoracleHome=<ORACLE_HOME>

Remplacer <ORACLE_HOME> par sa valeur.

Attention, il y a une coquille dans la documentation Oracle sur la propriété qui permet de fixer la valeur de oracleHome. Elle indique -Doracle-maven-sync.oracleHome=/path/to/oracleHome au lieu de -DoracleHome=/path/to/oracleHome

 

Cette synchronisation est nécessaire chaque fois que votre installation WebLogic Server est modifiée, lors de l’application d’un pathc par exemple.

Configuration pom.xml

 

Ajouter la déclaration du repository Oracle dans le pom.xml du projet

extrait du pom.xml
<repositories>
  <repository>
    <id>maven.oracle.com</id>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
    <url>https://maven.oracle.com</url>
    <layout>default</layout>
  </repository>
</repositories>  

 

C’est tout.