13/03/2018
tomcat7:run
Introduction
Cet article décrit comment déployer une interface web dans un serveur Tomcat embarqué dans votre projet Maven. Ainsi il est possible de tester vos développements et paramétrages de FlowerDocs sans quitter votre IDE.
Le plugin Tomcat pour Maven permet de déployer une ou plusieurs applications WEB dans le conteneur de servlet Tomcat depuis un goal Maven. La configuration du plugin doit être ajoutée dans la liste des plugins (<plugins/>
du pom.xml
) de votre projet.
Prérequis :
- Notion de Maven
Déployer votre projet
La configuration ci-dessous vous permet de déployer votre projet Maven directement dans le conteneur de servlet Tomcat.
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>9080</port>
<path>/custom-app</path>
<warSourceDirectory>${project.build.directory}/${project.artifactId}-${project.version}</warSourceDirectory>
<warDirectory>${project.build.directory}/${project.artifactId}-${project.version}.war</warDirectory>
<systemProperties>
<file.encoding>utf-8</file.encoding>
<java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
</systemProperties>
<additionalClasspathDirs>
<additionalClasspathDir>${my.webapp.config}</additionalClasspathDir>
</additionalClasspathDirs>
</configuration>
</plugin>
Quelques explications :
port
: port utilisé pour démarrer Tomcat (attention aux conflits si un processus utilise déjà ce port)path
: contexte permettant d’accéder à l’application WEB (ici :http://localhost:9080/custom-app
)warSourceDirectory
: dossier de stockage des fichiers du module pour la génération du WAR à déployerwarDirectory
: WAR généré par le modulesystemProperties
: liste de propriétés à ajouter sur la JVM du serveur TomcatadditionalClasspathDirs
: liste de dossiers de configuration à ajouter dans le classpath la JVM du serveur Tomcat
d’ajouter un fichier
jaas.config
dans le répertoiresrc/main/conf
du type :FileNetP8WSI { com.filenet.api.util.WSILoginModule required; };
de le référencer dans le noeud
systemProperties
de la configuration du plugin :<java.security.auth.login.config>${project.basedir}/src/main/conf/jaas.config</java.security.auth.login.config>
Déploiement d’une webapp externe (comme flower) !
Le plugin Tomcat Maven vous permet également de déployer des applications WEB tierces. Afin de déployer une stack FlowerDocs, intégrez la configuration suivante.
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<systemProperties>
<flower.docs.config.dir>${my.webapp.config}</flower.docs.config.dir>
<flower.docs.core.addon>classpath:flower-docs-services-drools.xml</flower.docs.core.addon>
<file.encoding>utf-8</file.encoding>
<java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
</systemProperties>
<webapps>
<webapp>
<groupId>com.flower.docs.gui</groupId>
<artifactId>flower-docs-gui-webapp</artifactId>
<version>${flower.docs.version}</version>
<type>war</type>
<asWebapp>true</asWebapp>
<contextPath>/custom-app</contextPath>
</webapp>
<webapp>
<groupId>com.flower.docs.core</groupId>
<artifactId>flower-docs-core-webapp</artifactId>
<version>${flower.docs.version}</version>
<type>war</type>
<asWebapp>true</asWebapp>
<contextPath>/flower-docs-ws</contextPath>
</webapp>
<webapp>
<groupId>com.flower.docs.arender</groupId>
<artifactId>flower-docs-arender-hmi</artifactId>
<version>${flower.docs.version}</version>
<type>war</type>
<asWebapp>true</asWebapp>
<contextPath>/flower-docs-arender</contextPath>
</webapp>
</webapps>
</configuration>
</plugin>