アプリケーションをJBoss7に移行します。ここでは、すべての依存関係がありました"JBOSS_HOME/server/default/lib"
(JBoss4)。lib "servlet.jar"
(javax.servlet。*)を含めましたが、JBoss 7のグローバルモジュール(modules.xml、standalone.xml、warファイルのjboss-deployment-structure.xml)を設定した後、ライブラリは通常、JBossによってロードされます。
JBoss 7がフィルターを開始しようとすると、次の例外が発生します。
15:09:15,222 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/RegistrarValorDolar]] (MSC service thread 1-2) Exception starting filter cripto: java.lang.ClassCastException: cenpra.com.sigtec.business.utilities.SessionFilter cannot be cast to javax.servlet.Filter
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:441) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3269) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3865) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_15]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_15]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_15]
ライブラリ「servlet.jar」をグローバルモジュールから削除しようとすると、サーバーが内部jarを使用して独自のクラスをロードしようとして、クラスのを取得しましClassNotFoundException
たjavax.servlet.Filter
。
- 多くのライブラリを再利用する必要があるため、グローバルモジュールを使用したいと思います。