主题:[求助] MyEclipse 下整合SSH构架问题
piaoyexie
[专家分:1380] 发布于 2008-05-06 12:52:00
在增加了 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个回复)
沙发
piaoyexie [专家分:1380] 发布于 2008-05-06 13:28:00
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:
板凳
Finder [专家分:1460] 发布于 2008-05-06 13:41:00
org.apache.commons.collections.map.LinkedMap没有找到。我用的MyEclipse6.0没有这个错误。如果实在没有的话到Apache下载collections这个包吧。
另外我写了篇SSH整合的教程
http://bbs.pfan.cn/post-274773.html
可以看看,或许有帮助。
3 楼
piaoyexie [专家分:1380] 发布于 2008-05-07 10:57:00
[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 楼
try [专家分:370] 发布于 2008-05-08 13:24:00
用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 楼
piaoyexie [专家分:1380] 发布于 2008-05-09 13:38:00
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
这个问题我依旧没有解决
我来回复