使用Apache JCS出现java.lang.NoClassDefFoundError: EDU/oswego/cs/dl/util/concurrent/Channel的解决办法
@ for&ever 2009-11-23
在使用Apache JCS的过程中,出现如下的问题:
java.lang.NoClassDefFoundError: EDU/oswego/cs/dl/util/concurrent/Channel
at org.apache.jcs.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:203)
at org.apache.jcs.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:192)
at org.apache.jcs.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:149)
at org.apache.jcs.engine.control.CompositeCacheManager.getInstance(CompositeCacheManager.java:93)
at org.apache.jcs.JCS.ensureCacheManager(JCS.java:99)
at org.apache.jcs.JCS.getInstance(JCS.java:64)
问题原因:
编译路径中缺少包 concurrent.jar
解决办法:
获取concurrent.jar包添加到编译路径(lib)下重新编译运行即可。
Concurrent.jar的获取办法:
1、从原网址下载源代码并编译为 concurrent.jar
在网址http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html 处下载。
2、在JBoss中获取:
下载JBoss源码,在JBoss的根目录下lib目录中,找到concurrent.jar,拷贝到编译路径即可。
3、从WebLogic中获取:
与2类似,从WebLogic的安装目录WEB-INF/lib下找到concurrent.jar,拷贝到编译路径即可。
@ forandever 2009-11-23