我目前正在更新JAX RS应用程序(使用CXF和Spring)在JBoss而不是tomcat上运行。
它部署在Tomcat上,但是当我尝试部署到JBoss时,我从aspectj“警告这个类型名称不匹配”中得到此错误。它声称不存在的类被用于在spring xml config中声明的切入点。该类本身在WAR中进行了默认编译。
我猜这是一个类加载器问题,但是对JBoss的了解还不够清楚。
有人可以提出为什么会发生这种情况并为其提供解决方案吗?
答案 0 :(得分:1)
这是一个类加载问题,但不是我的问题。被编织的类之一是数据源。我在Jboss版本的WAR上使用Jboss数据源,所以数据源是org.jboss.jca.adapters.jdbc.WrapperDataSource,当在Jboss上但在tomcat上是org.apache.commons.dbcp.BasicDataSource。
结果,在编织过程中,aspectJ无法加载jboss类。添加
<dependencies>
<module name="org.jboss.ironjacamar.jdbcadapters"/>
</dependencies>
解决了这个问题。 Spring论坛上有一篇文章提及:http://forum.springsource.org/showthread.php?113581-Spring-JBoss7-aop-problems-to-get-datasource