【发布时间】:2013-02-27 18:39:05
【问题描述】:
我正在将应用程序迁移到 JBoss 7,其中所有依赖项都在 "JBOSS_HOME/server/default/lib" (JBoss 4) 中。我包含了 lib "servlet.jar" (javax.servlet. *),但是,在设置了 Global Module for JBoss 7 (modules.xml、standalone.xml、jboss-deployment-structure.xml 在war文件中)之后,库由 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 加载它自己的类,我得到了 ClassNotFoundExceptionof javax.servlet.Filter 类。
- 我想使用全局模块,因为我需要重用很多库。
【问题讨论】:
标签: jboss module classloader jboss7.x libraries