回 帖 发 新 帖 刷新版面

主题:[求助] MyEclipse 下整合SSH构架问题

在增加了 Struts 1.2 Plugin 之后出现如下错误

2008-05-05 22:32:37 [message]   Pushing body 
2008-05-05 22:32:39 [message] Class [org.apache.commons.collections.map.LinkedMap] or one of its dependencies is not present: java.lang.ClassNotFoundException: org.apache.commons.collections.map.Linke
dMap
2008-05-05 22:32:39 [message] Class [edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap] or one of its dependencies is not present: java.lang.ClassNotFoundException: edu.emory.mathcs.bac
kport.java.util.concurrent.ConcurrentHashMap
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init
 method failed; nested exception is java.lang.SecurityException: class "org.apache.commons.collections.LRUMap"'s signer information does not match signer information of other classes in the same packa
ge
Caused by: 
java.lang.SecurityException: class "org.apache.commons.collections.LRUMap"'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:1847)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at org.hibernate.util.SimpleMRUCache.init(SimpleMRUCache.java:47)
    at org.hibernate.util.SimpleMRUCache.<init>(SimpleMRUCache.java:31)
    at org.hibernate.util.SimpleMRUCache.<init>(SimpleMRUCache.java:26)
    at org.hibernate.engine.query.QueryPlanCache.<init

回复列表 (共5个回复)

沙发

2008-05-05 22:32:37 [message]   Pushing body 
2008-05-05 22:32:39 [message] Class [org.apache.commons.collections.map.LinkedMap] or one of its dependencies is not present: java.lang.ClassNotFoundException: org.apache.commons.collections.map.Linke
dMap
2008-05-05 22:32:39 [message] Class [edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap] or one of its dependencies is not present: java.lang.ClassNotFoundException: edu.emory.mathcs.bac
kport.java.util.concurrent.ConcurrentHashMap
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init
 method failed; nested exception is java.lang.SecurityException: class "org.apache.commons.collections.LRUMap"'s signer information does not match signer information of other classes in the same packa
ge
Caused by: 
java.lang.SecurityException: class "org.apache.commons.collections.LRUMap"'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:1847)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at org.hibernate.util.SimpleMRUCache.init(SimpleMRUCache.java:47)
    at org.hibernate.util.SimpleMRUCache.<init>(SimpleMRUCache.java:31)
    at org.hibernate.util.SimpleMRUCache.<init>(SimpleMRUCache.java:26)
    at org.hibernate.engine.query.QueryPlanCache.<init>(QueryPlanCache.java:43)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:145)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
    at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1202)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:428)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
    at org.springframework.web.struts.ContextLoaderPlugIn.createWebApplicationContext(ContextLoaderPlugIn.java:355)
    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:212)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
    at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1105)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1203)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1306)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
    at java.lang.Thread.run(Thread.java:595)
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init
 method failed; nested exception is java.lang.SecurityException: class "org.apache.commons.collections.LRUMap"'s signer information does not match signer information of other classes in the same packa
ge
Caused by: 
java.lang.SecurityException: class "org.apache.commons.collections.LRUMap"'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:1847)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at org.hibernate.util.SimpleMRUCache.init(SimpleMRUCache.java:47)
    at org.hibernate.util.SimpleMRUCache.<init>(SimpleMRUCache.java:31)
    at org.hibernate.util.SimpleMRUCache.<init>(SimpleMRUCache.java:26)
    at org.hibernate.engine.query.QueryPlanCache.<init>(QueryPlanCache.java:43)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:145)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
    at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1202)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:428)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
    at org.springframework.web.struts.ContextLoaderPlugIn.createWebApplicationContext(ContextLoaderPlugIn.java:355)
    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:212)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
    at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1105)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1203)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1306)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
    at java.lang.Thread.run(Thread.java:595)
2008-05-05 22:32:47 [message] Marking servlet action as unavailable
2008-05-05 22:32:47 [message] Servlet /ssh threw load() exception
javax.servlet.UnavailableException
    at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:880)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:336)
    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
    at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1105)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1203)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1306)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
    at java.lang.Thread.run(Thread.java:595)
2008-05-05 22:32:47 [message] Parent class loader is: WebappClassLoader
  delegate: false
  repositories:

板凳

org.apache.commons.collections.map.LinkedMap没有找到。我用的MyEclipse6.0没有这个错误。如果实在没有的话到Apache下载collections这个包吧。
另外我写了篇SSH整合的教程
http://bbs.pfan.cn/post-274773.html
可以看看,或许有帮助。

3 楼

[quote]org.apache.commons.collections.map.LinkedMap没有找到。我用的MyEclipse6.0没有这个错误。如果实在没有的话到Apache下载collections这个包吧。
另外我写了篇SSH整合的教程
http://bbs.pfan.cn/post-274773.html
可以看看,或许有帮助。[/quote]


can not download...
can you send it to my e-mail?

piaoye83@gmail.com

thank you

4 楼

用MyEclipse整合ssh时总会出现问题,我认为这是MyEclipse本身的问题,

一下是我总结的ssh整合方法,希望有用:
整合小结:

很容器出现一个问题就是:HTTP Status 404 - Servlet action is not available
遇到这个问题的原因(排出配置文件上的问题)一般是jar包问题:

1、由于多余的jar包导致jar包冲突;
比如:
报错的信息是这样的:
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
后面还有一大堆垃圾信息,就不列举了
       遇到这样的错误,一般是存在多个版本的asm.jar包所引起的,当然,不是重名,我是删除了asm-2.2.3.jar这个文件,然后重新启动TOMCAT。

        你会发现原来的错误信息没有了,接下来可能会出现这样的信息:
Caused by: net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null

        这个错误其实是重复的cglib-2.1.3.jar包引起的,因为与另外的一个cglib-nodep-2.1_3.jar冲突了,所以必须要把前面的这个干掉。
        这样,就把问题都解决了:)
       友情提示一:在使用MYECLIPSE里整合这三个东西的时候,最好不要重复导包。(其实主要指的是SPRING对HIBERNATE的支持包(ORM),如果在导SPRING包的时候已经进行选择导入的话,再后面导HIBERNATE包的时候,就不需要再选择导入了)



2、由于缺少jar包导致spring初始化失败;
    比如:
Caused by: java.lang.NoClassDefFoundError: org/dom4j/DocumentException    -----------缺少dom4j.jar
Caused by: java.lang.NoClassDefFoundError: javax/transaction/TransactionManager----缺少jta.jar


友情提示二:struts-config.xml中的元素有严格的顺序,如果元素的顺序出错,系统会抛出一个错误,描述如下:
The content of element type "struts-config" must match "(display-name?,description?,data-sources?,form-beans?,global-exceptions?,global-forwards?,
action-mappings?,controller?,message-resources*,plug-in*)". [109] 
刚看到这个错误,我总以为是某个元素的拼写出了错误,把整个文件仔细检查了一遍,没有发现任何拼写作错误。查了资料才知道,struts-config.xml中的元素有严格的顺序,他们的顺序应该是象下面这个样子:

<struts config>

<data sources>
    <data source>
    </data source>
</data sources>

<form beans>
    <form bean />
</form beans>

<global forwards>
    <forward />
</global forwards>

<action mappings>
    <action/>
</action mappings>

<controller />
<message resource />
<plug in />

</struts config>
上面的错误提示不是说元素有拼写错误,而是说struts-config.xml必须按照display-name-->description-->datasources-->form-beans-->global-forwards-->action-mappings-->controller-->message_resources-->plug-in的顺序书写。



友情提示三:如果是部署在tomcat5.5中,并且排除以上所有错误的话,还必须在<tomcat_5.5\common\lib>中添加:
commons-collections-3.1.jar
commons-pool-1.2.jar
tomcat5.5默认没有这两个jar包,但是在tomcat5.0.28中有。

还有就是comcat5.5默认的情况下没有开启日志功能,这给初学者带来些不便。最好使用log4j.方法:在<tomcat_5.5\common\lib>中添加log4j.jar;在<tomcat_5.5\common\classes>中添加log4j.properties

5 楼

Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init
 method failed; nested exception is java.lang.SecurityException: class "org.apache.commons.collections.LRUMap"'s signer information does not match signer information of other classes in the same packa
ge

 这个问题我依旧没有解决

我来回复

您尚未登录,请登录后再回复。点此登录或注册