Das Bereitstellen von CDI in Apache Tomcat ist mühsam, indem Sie pom.xml schreiben und konfigurieren. Dieses Mal werde ich Apache OpenWebBeans verwenden, um die Verwendung von CDI zu vereinfachen.
/Arbeitsziel/
├ Tomcat/
│ ├ apache-tomcat-9.0.22/
│ │ ├ bin/
│ │ │ ├ startup.bat
│ │ │ └ startup.sh
│ │ └ conf/
│ │ ├ Catalina/
│ │ │ └ localhost
│ │ │ └ Sample.xml
│ │ ├ context.xml
│ │ └ logging.properties
│ ├ current -> (/Arbeitsziel/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
Erstellen Sie ein Verzeichnis für diese Arbeit. (Im Folgenden Arbeitsziel)
Erstellen Sie ein Tomcat-Verzeichnis an Ihrem Ziel.
Laden Sie Apache Tomcat in das Tomcat-Verzeichnis herunter und entpacken Sie es.
Erstellen Sie einen aktuellen Link unter Berücksichtigung der Versionsänderung.
#Für Windows
mklink /j current apache-tomcat-9.0.22
#Für Linux
ln -s apache-tomcat-9.0.22 ./current
[Für Windows implementiert] Ändern Sie conf / logging.properties in Apache Tomcat, um zu verhindern, dass die Konsole verstümmelt wird.
#In der Nähe der Linie 51
#Vorher ändern
java.util.logging.ConsoleHandler.encoding = UTF-8
#Nach der veränderung
java.util.logging.ConsoleHandler.encoding = SJIS
Laden Sie Apache OpenWebBeans in das Tomcat-Verzeichnis herunter und entpacken Sie es.
Führen Sie install_owb_tomcat7 in Apache OpenWebBeans aus
#Für Windows
install_owb_tomcat7.bat ..\current
#Für Linux
install_owb_tomcat7.sh ../current
[Für Windows implementiert] Fügen Sie ein Tag in das Tag "
<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 hinzugefügt-->
<Listener className="org.apache.webbeans.web.tomcat7.ContextLifecycleListener"/>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
</Context>
Klonen Sie den folgenden Git an Ihr Ziel
Erstellen Sie eine XML mit dem folgenden Inhalt in conf / Catalina / localhost in Apache Tomcat.
``` xml:Sample.xml
<Context path="/Sample" reloadable="true" docBase="/Arbeitsziel/quita/cdi-sample/WebContent">
</Context>
```
``` sh
#Für Windows
startup.bat
#Für Linux
startup.sh
```
Wir haben jetzt Apache OpenWebBeans verwendet, um die Verwendung von CDI mit Apache Tomcat zu ermöglichen. Im Fall von Windows ist es ein wenig ärgerlich, weil es manuelle Arbeit erfordert, aber ich habe mich gefragt, ob es einfach wäre, CDI durch Ausführen von bat / sh zu verwenden. Die diesmal verwendete Quelle wird mit Eclipse erstellt. Wenn Sie also können, möchten Sie möglicherweise damit herumspielen. (Ändern Sie bei Verwendung mit Eclipse das Tomcat-Installationsverzeichnis unter Fenster-> Einstellungen-> Server-> Laufzeitumgebung-> Tomcat9 (Java11) -> Bearbeiten in / Work / Tomcat / current.)
Bitte kommentieren Sie, wenn Sie Fehler oder Probleme haben.