tomahawk jar 未加载 weblogic Portal 10.3

发布于 2024-09-27 13:11:20 字数 538 浏览 1 评论 0原文

我在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

岛歌少女 2024-10-04 13:11:20

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 中的类加载

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

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

<container-descriptor>
    <prefer-web-inf-classes>true</prefer-web-inf-classes>
  </container-descriptor>
尘曦 2024-10-04 13:11:20

作为 weblogic 和基础设施的新手,我搞砸了不同的版本。发现这只是因为罐子不兼容。

Being new to weblogic and infrastructure I messed up with different versions. Figured out it was just because of incompatible jars.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文