Rendre CDI disponible dans Apache Tomcat est un problème pour écrire et configurer pom.xml. Donc, cette fois, je vais utiliser Apache OpenWebBeans pour faciliter l'utilisation de CDI.
/Destination de travail/
├ Tomcat/
│ ├ apache-tomcat-9.0.22/
│ │ ├ bin/
│ │ │ ├ startup.bat
│ │ │ └ startup.sh
│ │ └ conf/
│ │ ├ Catalina/
│ │ │ └ localhost
│ │ │ └ Sample.xml
│ │ ├ context.xml
│ │ └ logging.properties
│ ├ current -> (/Destination de travail/Tomcat/apache-tomcat-9.0.22/)
│ ├ openwebbeans-distribution-2.0.9
│ │ ├ install_owb_tomcat7.bat
│ │ └ install_owb_tomcat7.sh
│ ├ apache-tomcat-9.0.22
│ └ openwebbeans-distribution-2.0.9-binary.zip
└ quita
└ cdi-sample
└ WebContent
└ WEB-INF
└ beanse.xml
Créez un répertoire pour ce travail. (Ci-après, destination de travail)
Créez un répertoire Tomcat à votre destination.
Téléchargez Apache Tomcat dans le répertoire Tomcat et décompressez-le.
Créez un lien actuel en tenant compte du changement de version.
#Pour les fenêtres
mklink /j current apache-tomcat-9.0.22
#Pour Linux
ln -s apache-tomcat-9.0.22 ./current
[Implémenté pour Windows] Modifiez conf / logging.properties dans Apache Tomcat pour éviter que la console ne soit déformée.
#Près de la ligne 51
#Changer avant
java.util.logging.ConsoleHandler.encoding = UTF-8
#Après le changement
java.util.logging.ConsoleHandler.encoding = SJIS
Téléchargez Apache OpenWebBeans dans le répertoire Tomcat et décompressez-le.
Exécutez install_owb_tomcat7 dans Apache OpenWebBeans
#Pour les fenêtres
install_owb_tomcat7.bat ..\current
#Pour Linux
install_owb_tomcat7.sh ../current
[Implémenté pour Windows] Ajoutez une balise dans la balise "
<Context>
<!-- Default set of monitored resources. If one of these changes, the -->
<!-- web application will be reloaded. -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<!--↓ Tag ajouté-->
<Listener className="org.apache.webbeans.web.tomcat7.ContextLifecycleListener"/>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
</Context>
Clonez le Git suivant vers la destination de travail
Créez un fichier xml avec le contenu suivant dans conf / Catalina / localhost dans Apache Tomcat.
``` xml:Sample.xml
<Context path="/Sample" reloadable="true" docBase="/Destination de travail/quita/cdi-sample/WebContent">
</Context>
```
``` sh
#Pour les fenêtres
startup.bat
#Pour Linux
startup.sh
```
Nous avons maintenant utilisé Apache OpenWebBeans pour permettre l'utilisation de CDI avec Apache Tomcat. Dans le cas de Windows, c'est un peu gênant car cela nécessite un travail manuel, mais je me suis demandé s'il serait facile d'utiliser CDI en exécutant bat / sh. La source utilisée cette fois-ci est créée avec eclipse, donc si vous le pouvez, vous voudrez peut-être jouer avec. (Lors de l'utilisation avec eclipse, changez le répertoire d'installation de Tomcat en / work / Tomcat / current depuis Window-> Settings-> Server-> Runtime Environment-> Tomcat9 (Java11) -> Edit)
Veuillez commenter si vous avez des erreurs ou des problèmes.