Maven项目遇到java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
我在eclipse中直接运行没有问题,但是打包放到tomcat中就会报错java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
网上说,eclipse打包的时候不会给ehcache.jar打包,我发现这个包是有的ehcache-1.6.2.jar,只不过最后把jar包名为了ehcache.jar,并手动导入解决了问题
与此同时,由于是MAven文件,遭遇了jar包冲突,就是说,需要的是ehcache.jar,但是ehcache-1.6.2.jar和ehcache.jar并存时是不行的,而且我这里二者其实是一个
详细过程如下:
我的pom.xml文件中配置了
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>1.6.2</version>
</dependency>
而且,打包后也发现了jar包: ehcache-1.6.2.jar
但是就是报错
后来手动把 ehcache-1.6.2.jar改名为ehcache.jar 并构建路径到进入,打包,还是报错,发现ehcache-1.6.2.jar和ehcache.jar 都被打包进来了
然后手动把打好的包中的ehcache-1.6.2.jar删掉,程序正常启动了
最终,把pom.xml中的<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>1.6.2</version>
</dependency>
删掉应该可以解决问题,但是,我的项目有部分是继承别人的代码,改不了,只能打好包后手动删除这个jar包了