`

构建SSH时,Commons项目中两个包冲突问题的解决

    博客分类:
  • SSH
阅读更多

commons-beanutil.jar与commons-collections.jar包中由于结构中都有相同的collections包发生冲突。

解决方法使用commons-beanutil-1.6.1及其之前的版本整合SSH。下面是利用log4监测j时,该问题抛出的异常。

 

[framework] 2008-04-02 14:09:00,765 - org.springframework.web.struts.ContextLoaderPlugIn -47265 [main] ERROR org.springframework.web.struts.ContextLoaderPlugIn  - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/cfg/cfg_spring/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.SecurityException: class "org.apache.commons.collections.CursorableLinkedList"'s signer information does not match signer information of other classes in the same package
java.lang.SecurityException: class "org.apache.commons.collections.CursorableLinkedList"'s signer information does not match signer information of other classes in the same package
 at java.lang.ClassLoader.checkCerts(ClassLoader.java:775)
 at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)
 at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
 at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1634)
 at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:860)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1307)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
 at org.apache.commons.pool.impl.GenericObjectPool.<init>(GenericObjectPool.java:392)
 at org.apache.commons.pool.impl.GenericObjectPool.<init>(GenericObjectPool.java:258)
 at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:795)
 at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
 at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)
 at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:72)
 at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1881)
 at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1174)
 at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:822)
 at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:748)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1099)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:400)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:277)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:321)
 at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)
 at org.springframework.web.struts.ContextLoaderPlugIn.createWebApplicationContext(ContextLoaderPlugIn.java:353)
 at org.springframework.web.struts.ContextLoaderPlugIn.initWebApplicationContext(ContextLoaderPlugIn.java:296)
 at org.springframework.web.struts.ContextLoaderPlugIn.init(ContextLoaderPlugIn.java:225)
 at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:869)
 at org.apache.struts.action.ActionServlet.init(ActionServlet.java:336)
 at javax.servlet.GenericServlet.init(GenericServlet.java:211)
 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1029)
 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:862)
 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4013)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4357)
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
 at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
 at org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
 at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:701)
 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:432)
 at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
 at org.apache.catalina.core.StandardService.start(StandardService.java:480)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)

分享到:
评论

相关推荐

    SSH框架整合时候包冲突

    本文将深入探讨在SSH框架整合时遇到的包冲突问题,尤其是涉及到的Java类库冲突,以及解决策略。 ### 一、包冲突的根本原因 包冲突通常发生在项目依赖管理不当的情况下,具体表现为多个不同版本的相同库被同时引入...

    构建SSH三大框架文档

    以上就是SSH框架搭建的详细步骤,每个步骤都至关重要,确保正确执行才能成功构建SSH框架的Web应用。这种框架组合可以提供模型-视图-控制器(MVC)架构,事务管理,持久化等功能,是Java Web开发中的强大工具。

    搭建一个完整的SSH框架

    SSH框架,全称为Struts+Spring+Hibernate,是Java开发中的一个经典组合,用于构建企业级Web应用程序。这个框架集合了MVC模式的Struts、依赖注入和事务管理的Spring以及对象关系映射的Hibernate。以下将详细解释如何...

    ssh+dwr坚决不冲突的jar2

    在IT行业中,SSH和DWR是两种非常重要的技术框架,它们分别用于构建Web应用程序的不同方面。SSH(Spring、Struts、Hibernate)是一个经典的Java企业级应用开发栈,而DWR(Direct Web Remoting)则是一种使得...

    spring+hibernate 无冲突jar包

    在实际项目中,由于版本兼容性问题,有时会出现Spring和Hibernate之间的冲突,这主要体现在jar包版本不匹配或依赖重复。 这个名为"spring+hibernate 无冲突jar包"的压缩文件,正是为了解决这个问题而提供的。它包含...

    ssh+dwr坚决不冲突的jar3

    在IT行业中,SSH和DWR是两种非常重要的技术框架,它们分别用于构建后端和前端交互的高效应用程序。本文将详细解析标题“ssh+dwr坚决不冲突的jar3”所涉及的知识点,以及描述中提到的文件列表。 **SSH (Spring, ...

    ssh宽架所需各类包

    在MyEclipse环境中,有时可能会遇到SSH框架的集成问题,比如版本兼容性、类加载冲突等。在这种情况下,从官方网站下载最新或特定版本的SSH框架包,可以确保获取到无冲突且稳定的依赖库。文件名"ssh所需包"可能包含...

    SSH无冲突jar包,完美支持JAVA EE开发

    总的来说,这个SSH无冲突jar包为Java EE开发者提供了一个稳定、高效的开发环境,减少了版本冲突带来的困扰,使得项目构建和维护更加便捷。通过详细阅读附带的文章,可以进一步了解如何具体使用这个包来搭建SSH框架...

    一个简单搭建SSH2框架

    在这个例子中,使用了MySQL数据库创建了一个名为`users`的表,包含`userid`作为主键,以及`username`和`password`两个字段,用于存储用户信息。 接下来,使用MyEclipse8.5作为开发工具创建一个新的Web项目。在项目...

    ssh框架的搭建

    - 引入`commons-dbcp.jar`和`commons-pool.jar`,这两个类库提供了数据库连接池和对象池的功能,对提高系统性能和资源利用率有显著作用。 #### 配置与测试 最后,确认所有配置文件(如`applicationContext.xml`、`...

    SSH2框架搭建详细说明

    例如,文中提到的`asm`和`asm-2.2.3`两个包存在冲突,应保留较低版本的`asm`包。 #### 五、包结构展示 最后,展示完整的包结构,确保所有必要的库均已正确导入。此外,如果项目中使用了MySQL数据库,则还需要导入...

    Struts2.0-Spring所需的Jar包

    标题中的"Struts2.0-Spring所需的Jar包"指的是在SSH集成开发环境中,为了使Struts2和Spring能够协同工作,你需要将特定版本的Struts2和Spring的JAR文件添加到项目的类路径中。这些JAR文件包含了运行这两个框架所需的...

    SSH整合实例

    - **asm.jar/asm-attrs.jar**:这两个库也是ASM框架的一部分,用于处理Java字节码。 - **cglib-2.1.3.jar**:CGLIB是一个高性能、高质量的代码生成库,通常用于实现动态代理。 - **commons-pool.jar**:Apache ...

    ssh整合步骤

    4. 如果使用dbcp数据源,需要添加`commons-dbcp-1.2.2.jar`和`commons-pool-1.5.4.jar`两个额外的jar包。 通过以上步骤,可以完成SSH的整合工作。在实际操作中,还需要根据具体的应用需求和环境进行调整,例如配置...

    业余框架整合-SSHD-(1)-整体概述(2011-12-03更新)

    这篇教程可能是2011年12月3日更新的,旨在帮助开发者理解如何在他们的项目中整合这两个不同的技术栈。 描述中提到的“博文链接:https://littleant.iteye.com/blog/904309”表明该内容可能是在iteye这个技术社区...

    开发常用jar2

    4. **commons-dbcp**和**commons-pool**:这两个是Apache Commons的数据库连接池相关库。DBCP(Database Connection Pool)提供了一个数据库连接池实现,而Pool是通用的对象池服务,DBCP利用它来管理数据库连接,...

    ssh配置总结

    2. **OpenSessionInViewFilter配置**:该过滤器用于解决Hibernate的懒加载问题,在每个请求处理前后开启和关闭Session,确保线程安全和资源释放。 ```xml &lt;!-- 配置OpenSessionInViewFilter --&gt; &lt;filter-name&gt;...

Global site tag (gtag.js) - Google Analytics