我们正在尝试从 tomcat 迁移到 Jboss AS 7.1,但是我们用于 SSO 的 Waffle 库存在问题。
我们读到为了在 jboss AS 7.1 中使用 Waffle,我们需要在 Jboss 中创建一个具有以下依赖项的模块:
<module xmlns="urn:jboss:module:1.1" name="com.sso">
<resources>
<resource-root path="Waffle-1.4.jar"/>
<resource-root path="platform-gcp_1.jar"/>
<resource-root path="jna-gcp_1.jar"/>
<resource-root path="guava-r07-gcp_1.jar"/>
<resource-root path="commons-logging-1.1.1.jar"/>
</resources>
<dependencies>
<module name="javax.servlet.api" />
</dependencies>
</module>
并将以下依赖项添加到我们的 jboss-deployment-structure.xml 中:
<dependencies>
<module name="org.jboss.ironjacamar.jdbcadapters"/>
<module name="com.sso" export="TRUE" />
</dependencies>
但似乎 jboss 没有找到模块内的所有类,因为我们收到以下错误:
Caused by: java.lang.ClassNotFoundException: waffle.spring.NegotiateSecurityFilt
erEntryPoint from [Module "deployment.Grc.war:main" from Service Module Loader]
非常感谢您的帮助。
更新:
这是整个例外:
18:26:04,936 严重 [org.springframework.web.context.ContextLoader](MSC 服务线程 1-2)上下文初始化失败:org.springframework.beans.factory.BeanCreationException:创建名为“_filterChainProxy”的 bean 时出错:初始化豆失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:使用名称“_filterChainList”创建 bean 时出错:使用键 [2] 设置 bean 属性“filters”时无法解析对 bean '_exceptionTranslationFilter' 的引用;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“_exceptionTranslationFilter”的 bean 时出错:bean 初始化失败;嵌套异常是 org.springframework.beans.factory.CannotLoadBeanClassException:找不到类 [waffle.spring. NegotiateSecurityFilterEntryPoint] 用于在类路径资源 [waffle-filter.xml] 中定义的名称为“negotiateSecurityFilterEntryPoint”的 bean;嵌套异常是 java.lang.ClassNotFoundException: waffle.spring.NegotiateSecurityFilterEntryPoint from [Module "deployment.Grc.war:main" from Service Module Loader] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java: 480) [spring-2.5.5.jar:2.5.5] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) [spring-2.5.5.jar:2.5.5]在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory 的 java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_13]。BeanCreationException:创建名为“_filterChainList”的bean时出错:使用键[2]设置bean属性“filters”时无法解析对bean“_exceptionTranslationFilter”的引用;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“_exceptionTranslationFilter”的 bean 时出错:bean 初始化失败;嵌套异常是 org.springframework.beans.factory.CannotLoadBeanClassException:找不到类路径资源 [waffle-filter.xml] 中定义的名称为 'negotiateSecurityFilterEntryPoint' 的 bean 的类 [waffle.spring.NegotiateSecurityFilterEntryPoint];嵌套异常是 java.lang.ClassNotFoundException: waffle.spring.NegotiateSecurityFilterEntryPoint from [Module "deployment.Grc.war:main" from Service Module Loader] at org. applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:350) [spring-2.5.5.jar:2.5.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1330) [spring-2.5.5.jar :2.5.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) [spring-2.5.5.jar:2.5.5] ... 22 更多原因:org.springframework .beans.factory.BeanCreationException:创建名为“_exceptionTranslationFilter”的bean时出错:bean初始化失败;嵌套异常是 org.springframework.beans.factory.CannotLoadBeanClassException:找不到名为“negotiateSecurityFilterEntryPoint”的 bean 的类 [waffle.spring.NegotiateSecurityFilterEntryPoint] 在类路径资源 [waffle-filter.xml] 中定义;嵌套异常是 java.lang.ClassNotFoundException: waffle.spring.NegotiateSecurityFilterEntryPoint from [Module "deployment.Grc.war:main" from Service Module Loader] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java: 480) [spring-2.5.5.jar:2.5.5] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) [spring-2.5.5.jar:2.5.5]在 java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_13] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) [spring-2.5.5.jar :2.5.5] 在 org.springframework.beans.factory.support。CannotLoadBeanClassException:找不到类路径资源 [waffle-filter.xml] 中定义的名称为“negotiateSecurityFilterEntryPoint”的 bean 的类 [waffle.spring.NegotiateSecurityFilterEntryPoint];嵌套异常是 java.lang.ClassNotFoundException: waffle.spring.NegotiateSecurityFilterEntryPoint from [Module "deployment.Grc.war:main" from Service Module Loader] at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java: 1138) [spring-2.5.5.jar:2.5.5] 在 org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1102) [spring-2.5.5.jar:2.5.5] 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:386) [spring-2.5.5.jar:2.5.5] 在 java.security。