搭建ssh的时候,每次部署到tomcat总是会出错。折腾2天总算解决了,虽然没有找到根本原因,但也总结一下经验吧
1、报错找不到类ClassNotFoundException
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in file [D:\HS_Test\WebRoot\WEB-INF\applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
下解决办法:载http://commons.apache.org/downloads/download_pool.cgi,把里面的commons-pool-x.jar复制到myEclipse的Referenced Libraries下
2、报错类冲突,比如org.apache.commons.beanutils.Converter
解决办法:引入SpringAOP的时候,通过add External libraries找到AOP类库的路径,把这个commons-beanutils包空掉不选就好了。否则单个jar包不能删掉
3、报错
严重: action: null
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'localSessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit
解决办法:
除了网上提到的关于包冲突之类,这些方法如果还不奏效,最好的解决办法是关掉MyEclipse,重新打开再启动tomcat,把项目部署上去