使用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