在给项目添加jar包的时候,遇到了引用WebLogic.jar时产生NoClassDefFoundError错误的问题。在查阅了各种资料后,发现下面这个办法竟然把我的问题给解决了,现推荐一下:
前段时间在做一个项目开发时,需要用到weblogic.jndi.WLInitialContextFactory,所以按照以前的经验,将WebLogic.jar添加到Build Path中。可是在执行时发现报错:
Exception in thread "main" java.lang.NoClassDefFoundError: weblogic/security/subject/AbstractSubject
如果将wlclient.jar也添加到路径时,会报错:
Exception in thread "main" java.lang.NoClassDefFoundError: weblogic/security/acl/UserInfo
百思不得其解,遂看了一下Oracle的文档,发现10g以后的weblogic中,Oracle已经改变了weblogic包路径的内容,不能再像以前那样直接引用weblogic.jar.需要用到Weblogic提供的JarBuilder Tool 。
方法(我的jdk是1.6):
1、进入lib路径
cd WL_HOME/server/lib
2、创建新的wlfullclient.jar包
java -jar wljarbuilder.jar
3、将创建的wlfullclient.jar添加到你的应用程序的Build Path下就可以了。
相关文档地址:
http://download.oracle.com/docs/cd/E12840_01/wls/docs103/client/jarbuilder.html