如何在Weblogic EAR中设置JAR的顺序?

如何在Weblogic EAR中设置JAR的顺序?,weblogic,classloader,Weblogic,Classloader,我有一个EAR文件,其中包含两个不同的JAR,它们共享一些具有相同包+类名的类。这导致类加载在EAR文件本身中的重要性 在同一个APP-INF/lib中加载另一个jar之前,我如何告诉Weblogic从APP-INF/lib加载一个jar?我需要定义一个特定的顺序,如果有冲突,它将从jara而不是jarb获取 我使用的是WebLogic11g(10.3) 谢谢。weblogic application.xml中的顶级元素有一个可选的classloader结构元素,您可能需要查看它。例如,您可以执

我有一个EAR文件,其中包含两个不同的JAR,它们共享一些具有相同包+类名的类。这导致类加载在EAR文件本身中的重要性

在同一个APP-INF/lib中加载另一个jar之前,我如何告诉Weblogic从APP-INF/lib加载一个jar?我需要定义一个特定的顺序,如果有冲突,它将从jara而不是jarb获取

我使用的是WebLogic11g(10.3)


谢谢。

weblogic application.xml中的顶级元素有一个可选的classloader结构元素,您可能需要查看它。例如,您可以执行以下操作:

   <classloader-structure> 
     <module-ref> 
       <module-uri>ejb1.jar</module-uri> 
     </module-ref>
     <module-ref> 
       <module-uri>web3.war</module-uri> 
     </module-ref>

     <classloader-structure> 
        <module-ref> 
           <module-uri>web1.war</module-uri> 
        </module-ref> 
     </classloader-structure>

   </classloader-structure>

ejb1.jar
web3.war
web1.war

阅读有关在这些位置声明自定义类加载的更多信息。您还可以在同一个感兴趣的链接中找到Classloader分析工具(CAT)。

如果您遇到ClassNotFound异常,请尝试检查每个模块的MANIFEST.MF,查看“类路径”是否正确属性中正确填充了您的JAR在APP-INF/lib中的位置-我刚刚花了一周或更长的时间试图找到一个类似问题的解决方案,这就是修复它的方法。

感谢您提供的信息。问题是-我已经知道这个选项,但问题是我的JAR不是模块。而不是战争。只支持标准的LIB-jar。无法在xml中定义这些内容。@user3447647您好,我面临类似问题,您对此问题有任何解决方案吗?面对完全相同的问题,将我的lib打包到shared-lib.jar中,将lal jar放入app-inf/lib文件夹,但没有骰子,对于应该可见的类,不断获取classnotfoundexception,weblogic和使用them@Kin-听起来您可能需要,或者您可以简单地将jar添加到$DOMAIN/lib文件夹中,看看会发生什么。请参阅:。如果没有帮助的话,请用你的特定DeLySnOP添加一个新的问题,这不是我需要的,问题是在类加载器级别上,这个特性没有很好地考虑,因此缺少深入的文档,它不考虑类加载的所有细微差别。例如,应用程序ear文件中的APP-INF/lib的加载方式与共享库不同,这只是对未来搜索者的一个提示:如果你一直遇到classnotfound异常,你的应用程序没有正确加载类(你的应用程序看不到它们),请在此处阅读并思考一下,你应该弄清楚