Existe-t-il un moyen de déployer des fichiers JAR en tant que bibliothèque/déploiement dans WildFly 10
comme dans le serveur weblogic
?. OR pouvons-nous placer les fichiers JAR dans n’importe quel dossier du serveur et définir ces dépendances comme suit: provided
?
Ce qui m'a permis de déployer jar
s sur le serveur WildFly 10
plutôt que de faire partie du fichier war est défini ci-dessous:
1) Mettez tous vos pots dans wildfly\modules\system\layers\base\com\abcProject\main
Et placez un fichier nommé module.xml
avec le contenu suivant:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="com.abcProject">
<resources>
<resource-root path="aspectjrt-1.6.8.jar"/>
<resource-root path="aspectjweaver-1.6.8.jar"/>
<resource-root path="aopalliance-1.0.jar"/>
<resource-root path="guava-18.0.jar"/>
</resources>
<dependencies>
<module name="javaee.api"/>
<module name="org.Apache.commons.logging"/>
<module name="org.jboss.vfs"/>
</dependencies>
Où resources
sont tous ceux jars
présents dans votre dossier abcProject/main
et dependencies
sont tous ces jars
sur lesquels votre jars
sont dépendants et présents dans les dossiers wildfly\modules\system\layers\base
.
2) Ensuite, dans votre projet, ajoutez un fichier nommé jboss-deployment-structure.xml
dans le dossier WEB-INF
avec les contenus suivants:
<?xml version="1.0"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<deployment>
<dependencies>
<module name="com.abcProject" >
<imports>
<include path="META-INF**"/>
<include path="org**"/>
</imports>
</module>
</dependencies>
</deployment>
3) Définissez maintenant scope
de toutes ces dependencies
dans vos fichiers pom
en tant que provided
pour lequel vous avez placé jars
dans le dossier abcProject/main
.
C’est tout, lancez maintenant votre projet, il obtiendra tous les jar
s du serveur et ne sera pas inclus dans le fichier war
lors de la compilation.
Pour ajouter des fichiers JAR externes en tant que "bibliothèque" dans Jboss/Wildfly, vous pouvez le définir en tant que module dans votre installation ou l'ajouter à un module existant.
Voir this link pour plus de détails sur la façon d’ajouter un module dans Wildfly.