CDIをtomcat 9.xで動作させようとしています。私は、以下のリンクをたどったが、まだサーブレットにリソースを投入していないコンテナopenwebbeansApache OpenWebBeans(CDI)+サーブレット、インジェクションが動作しない
https://devlearnings.wordpress.com/2011/05/15/apache-openwebbeans-cdi-from-standalone-to-webapp/以下 https://dzone.com/articles/using-apache-openwebbeans http://openwebbeans.apache.org/owbsetup_ee.html
は、web.xml
私のサーブレットの下package com.openwebbeans;
import java.io.IOException;
import javax.inject.Inject;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SampleController extends HttpServlet{
private static final long serialVersionUID = 1L;
@Inject
private SampleService service;
public void doGet(final HttpServletRequest request, final HttpServletResponse response) throws IOException {
response.getWriter().print(service);
}
}
されています
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>OpenWebBeans</display-name>
<listener>
<listener-class>org.apache.webbeans.servlet.WebBeansConfigurationListener</listener-class>
</listener>
<servlet>
<servlet-name>sample</servlet-name>
<servlet-class>com.openwebbeans.SampleController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>sample</servlet-name>
<url-pattern>/sample</url-pattern>
</servlet-mapping>
</web-app>
次の行をserver.xmlの
<Listener className="org.apache.webbeans.web.tomcat7.ContextLifecycleListener" />
は、以下の私のpom.xml
- のgeronimo-annotation_1.3_spec-1.0
- のgeronimo-atinject_1 libのTomcatの下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.openwebbeans</groupId> <artifactId>openwebbeans-beginner</artifactId> <packaging>war</packaging> <version>1.0</version> <name>openwebbeans-beginner</name> <url>http://maven.apache.org</url> <properties> <owb.version>2.0.0</owb.version> </properties> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-atinject_1.0_spec</artifactId> <version>1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jcdi_2.0_spec</artifactId> <version>1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-interceptor_1.2_spec</artifactId> <version>1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-annotation_1.3_spec</artifactId> <version>1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-impl</artifactId> <version>${owb.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-spi</artifactId> <version>${owb.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-web</artifactId> <version>${owb.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-tomcat7</artifactId> <version>${owb.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.21.0-GA</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>openwebbeans-beginner</finalName> </build> </project>
を追加しました以下のjarファイルです。 0_spec-1.0
- geronimo-interceptor_1.2_spec-1.0
- ジェロニモ-jcdi_2.0_spec-1.0
- openwebbeans-el22-2.0.0
- openwebbeans-IMPL-2.0.0
- openwebbeans-SPI-2.0.0
- openwebbeans-tomcat7-2.0.0
- openwebbeansウェブ-2.0.0
- XBeanの-asm5シェーディング-4.5
- XBeanのファインダシェーディング-4.5
- Javassistの-3.21.0-GA
以下は、戦争を展開した後のサーバーログです。 06:08.315 INFO [HTTP-NIO-8080-EXEC-5] org.apache.catalina.startupこれは、オープンなWeb豆コンテナは10
20 - 7月 - 2017年開始したログから明らかです。 HostConfig.deployWAR Webを展開する アプリケーションアーカイブ [D:\ krishna \ apache-tomcat-9.0.0.M22 \ webapps \ openwebbeans-beginner.war] 20-Jul-2017 10:06:08.904 INFO [http-nio- 8080-exec-5] org.apache.webbeans.lifecycle.AbstractLifeCycle.bootstrapApplication OpenWebBeansコンテナが開始されています... 20-Jul-2017 10:06:09.229情報 [http-nio-8080-exec-5] org.apache.webbeans.lifecycle.AbstractLifeCycle.bootstrapApplication OpenWebBeans Containerが起動しましたが、[325] msかかりました。 20-Jul-2017 10:06:09.235 INFO [http-nio-8080-exec-5] org.apache.catalina.startup.HostConfig.deployWAR Webのデプロイ アプリケーションアーカイブ [D:\ krishna \ apache- tomcat-9.0.0.M22 \ webapps \ openwebbeans-beginnerです。戦争] はさらに、iはMETA-INF/openwebbeans下openwebbeans.propertiesを作成しorg.apache.webbeans.spi.ContainerLifecycle = org.apache.webbeans.lifecycle.StandaloneLifeCycleを添加し[920] MS
に仕上がっていますそれにしかし、それはまだ私もorg.apache.webbeans.spi.ContainerLifecycle = org.apache.webbeans.web.lifecycle.WebContainerLifecycleと試みたが、何も動いていないようにみえ
動作しません。
誰でもこの作業を手伝ってもらえますか?
私はTomcat-8.0.45とTomcat-8.5.16で同じ問題があります。誰もこれを働かせた? – David