Maven
Maven est l’outil qui sert à compiler le serveur SAINet (principalement, toutes les sources qui se trouvent dans server).
Au préalable, la version 3.9.x la plus récente doit être installée
et le dossier bin doit être ajouté à la variable d’environnement PATH
.
Cette étape de compilation est nécessaire afin de pouvoir utiliser un serveur SAINet.
Dans un terminal, la commande mvn --version
doit donner à peu près ceci:
Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546)
Maven home: /path/to/apache-maven-3.9.5
Java version: 21, vendor: Debian, runtime: /usr/lib/jvm/java-21-openjdk-amd64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "6.1.0-9-amd64", arch: "amd64", family: "unix"
Afin de pouvoir accéder au repository privé de SAINet, il est nécessaire
de modifier le fichier de configuration ${user.home}/.m2/settings.xml
afin
d’ajouter les informations suivantes:
<!-- ... -->
<servers>
<server>
<username>...</username>
<password>...</password>
<id>sai-central</id>
</server>
<server>
<username>...</username>
<password>...</password>
<id>sai-snapshots</id>
</server>
</servers>
<!-- ... -->
Le dossier .m2
n’existe généralement pas, il faut le créer manuellement. Sous Windows, le ${user.home}
est le dossier de l’utilisateur (C:\Users\<username>\
).
Les identifiants peuvent être récupérés sur passbolt (Maven - reader).
Au final, le fichier settings.xml
devrait ressembler à ceci (si aucune autre configuration n’est définie au préalable):
<settings>
<servers>
<server>
<username>...</username>
<password>...</password>
<id>sai-central</id>
</server>
<server>
<username>...</username>
<password>...</password>
<id>sai-snapshots</id>
</server>
</servers>
</settings>
Si l’utilisateur ou mot de passe contient des caractères XML spéciaux tels que &
, <
, >
, "
, '
ou !
, Maven affichera une erreur lors de la compilation.
Dans ce cas, il faut simplement encapsuler la valeur dans un CDATA:
<password><![CDATA[passW!thSp<e>cialChars!]]></password>
Pour compiler le projet dev / sainet
, il suffit d’ouvrir un terminal et
de lancer la compilation:
cd path/to/sainet
mvn clean install
Il est nécessaire d’avoir au moins 4Go de RAM disponible pour la compilation.
Une fois la compilation terminée, plusieurs fichiers/dossiers auront été créés, tels que l’EAR à déployer (server/SNV4SRV-ear/target/SNV4SRV.ear) ou les librairies pour le code à chaud (server/libapps/static et server/libapps/dynamic).
En utilisant le paramètre install
au lieu de package
, maven va copier les librairies (fichiers JARs) dans le dossier ${user.home}/.m2/repository
, ce qui permettra ensuite de faire des recompilations partielles en utilisant l’option -pl
.