2010-10-11 60 views
0

我在weblogic 10.3中创建了jsf 1.1 portlet,但是在一种情况下,我需要tomahawk库帮助。我刚刚在我的门户应用程序的WEB-INF中删除了jar文件和支持的lib文件夹,但是当我点击url时,它给了我NoClassdef的错误..... tomahawk jar和jsp编译失败。tomahawk jar没有加载weblogic门户10.3

我是weblogic的新手,如果someoe可以提示我可能会做错什么,我会非常感激。

该设置是整个应用程序的耳朵。 Ear包含app-inf和weblogic特定的xml文件,主要的门户网站应用程序就像这场战争一样。我正在使用weblogic portal 10.3附带的研讨会。那么这个项目是从weblogic portal 9.3迁移过来的。

注意:我不想但在domain/lib中有这个jar,当我这样做时,我不知道为什么它会加载我的应用程序,并且所有在servlet启动时定义的类与load-on-startups都已经在时间之前被解雇了,没有一个类是由服务器找到的。

当前使用的Jsf库处于共享模式。

回答

1

java.lang.NoClassDefFoundError表示类路径中该类的运行时版本与编译时的不一样

注意:这是而不是一个ClassNotFoundException。

您的问题实际上是找到的类的多个版本。

此外,JSF 1.2库与Weblogic服务器捆绑在一起,因此如果其中一个类再次添加到WEB-INF/lib中,可能会导致此异常。哪一个是抛出错误的确切类,你有多个版本的Tomahawk躺在WEB-INF和domain/lib中?

删除额外信息并仅在WEB-INF/lib中保留一个。

更新:

docs stateSeparate JSF 1.2 and JSTL 1.2 JAR files and implementation JAR files are also provided in the WL_HOME/server/lib/api.jar file.

为您在这个罐子该类javax/faces/webapp/UIComponentELTag

我还是觉得你应该使用weblogic.xml设置以强制WEB-INF/lib目录类来获得加载优先于在服务器/ lib目录与

<container-descriptor> 
    <prefer-web-inf-classes>true</prefer-web-inf-classes> 
    </container-descriptor> 
+0

异常法) 在需要java.lang.ClassLoader.defineClass(ClassLoader.java:621) 在java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) 在weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java: 344) at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:301) – 2010-10-19 07:14:10

+0

我只有一个web-inf中的tomahawk jar。并从这个库我使用的唯一的标记是。我正在使用eclipse for weblogic 10.3.2进行开发。 jsf库来自sun并且处于共享模式。我已经检查过这个类是在jar中存在的。 – 2010-10-19 07:17:22

+0

@ user458248:UIComponentELTag是JSF 1.2,不是1.1。而它所抱怨的类是javax/faces/webapp/UIComponentELTag。这个课堂是在这些罐子里找到的。 http://www.jarfinder.com/index.php/java/info/javax.faces.webapp.UIComponentELTag。我不确定是否有人在weblogic中发货。 WEB-INF中有这些罐子的多个副本吗?试试我在原始答案中写的prefer-web-inf-classes设置。 – JoseK 2010-10-19 08:17:23

0

作为新WebLogic和基础设施我搞砸了与不同的版本。找出它只是因为不兼容的罐子。组织/阿帕奇/ MyFaces的/ shared_tomahawk /标签库/核心/ ParamTag:的javax /面/ web应用/ UIComponentELTag 在java.lang.ClassLoader.defineClass1(母语在处理“xxxx.jsp'java.lang.NoClassDefFoundError发生