tomahawk jar 未加载 weblogic Portal 10.3
我在 weblogic 10.3 中制作了一个 jsf 1.1 portlet,但在一种情况下我需要 tomahawk 库帮助。我刚刚将 jar 文件和支持文件放在门户应用程序的 WEB-INF 中的 lib 文件夹中,但是当我点击 url 时,它给了我 NoClassdef 错误......tomahawk jar 中的类和 jsp 编译失败的异常。
我是 weblogic 的新手,如果有人能建议我可能做错了什么,我将非常感激。
设置是整个应用程序就像耳朵一样。 Ear 包含 app-inf 和 weblogic 特定的 xml 文件,主要门户 Web 应用程序在这个 Ear 内进行战争。我正在使用 weblogic Portal 10.3 附带的 Workshop。这个项目是从 weblogic Portal 9.3 迁移而来的。
注意:我不想但是域/lib中的这个jar,当我这样做时,我不知道为什么它加载了我的应用程序,并且在servlet启动中使用load-on-startups定义的所有类都在时间之前被触发,并且没有任何类被服务器发现。
当前使用的 Jsf 库处于共享模式。
I have made a jsf 1.1 portlet in weblogic 10.3, but in one scenario I need tomahawk library help. I just dropped the jar file and supporting ones in lib folder in WEB-INF in my portal application, but when I hit the url it gives me error of NoClassdef..... exception for classes in tomahawk jar and jsp compilation fails.
I am new to weblogic, I'll really appreciate if someoe can suggest what I might be doing wrong.
The setup is that whole application goes as ear. Ear contains app-inf and weblogic specific xml files, main portal web application goes as war inside this ear. I am using workshop that ships with weblogic portal 10.3. Well this project was migrated from weblogic portal 9.3.
Note: I dont want to but this jar in domain/lib, when I did so I dont know why it loaded my application and all the class defined in servlet startup with load-on-startups got fired well before time and none of the classes were found by server.
Jsf libraries currently used are in shared mode.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
java.lang.NoClassDefFoundError
表示类路径中类的运行时版本与编译时不相同。注意:它不是 ClassNotFoundException。
您的问题实际上是找到了该类的多个版本。
此外,JSF 1.2 库与 Weblogic 服务器捆绑在一起,因此如果再次将这些类之一添加到 WEB-INF/lib 中,可能会导致此异常。哪个类是引发错误的确切类,您在 WEB-INF 和域/lib 中是否有多个版本的 Tomahawk?
删除多余的内容并仅在 WEB-INF/lib 中保留一个。
更新:
文档状态< /a> WL_HOME/server/lib/api.jar 文件中还提供了单独的 JSF 1.2 和 JSTL 1.2 JAR 文件以及实现 JAR 文件。
检查该类
javax/faces/ webapp/UIComponentELTag
在这个 jar 中。我仍然认为您应该使用
weblogic.xml
设置来强制 WEB-INF/lib 类优先于 server/lib 中的类加载java.lang.NoClassDefFoundError
means the runtime version of the class in the classpath is not the same as that at compile time.Note: it's not a ClassNotFoundException.
Your problem is in fact multiple versions of the class being found.
Also, JSF 1.2 libraries are bundled with Weblogic server, so it can cause this exception if one of those classes is again added into the WEB-INF/lib. Which is the exact class on which the error is thrown, do you have multiple versions of Tomahawk lying around in WEB-INF and domain/lib?
Remove the extras and keep one in WEB-INF/lib only.
Update:
The docs state that
Separate 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.
Check for that class
javax/faces/webapp/UIComponentELTag
in this jar.I still think you should use the
weblogic.xml
setting to force the WEB-INF/lib class to get loaded in preference to that in server/lib with作为 weblogic 和基础设施的新手,我搞砸了不同的版本。发现这只是因为罐子不兼容。
Being new to weblogic and infrastructure I messed up with different versions. Figured out it was just because of incompatible jars.