我对Weblogic类加载器有问题。
当我尝试在WL 12.2.1.2.0上部署我的应用程序时,它失败了。在我服务器上的日志中,我看到了
java.lang.ClassNotFoundException:org.w3c.dom.元素遍历
该类属于xml API库。库进入我的应用程序时带有另一个依赖项(即传递依赖项)。xml API的版本是1.4.01。
之后,我在部署描述符中添加了异常:
<container-descriptor>
<prefer-application-packages>
<package-name>org.w3c.dom.*</package-name>
</prefer-application-packages>
</container-descriptor>
然后是一个新的部署。所述问题与组织有关。w3c。dom。元素遍历已解决。没有关于缺少组织的任何信息。w3c。dom。ElementTraversal不再是类。
但是有一个新问题:java。lang.ClassNotFoundException:org。w3c。dom。文档
经过分析,我发现
org.w3c.dom.Document
类来自JRE(jre/lib/rt.jar)。所以在部署描述符中,我说:
“如果我需要来自org.w3c.dom的东西,请从我的应用程序分发中加载。”。现在存在这样的不一致性。
我曾想过使用WL类加载器分析工具(CAT),但这是不可能的,因为部署失败了。
从我的耳朵中排除xml API和xerces库对我没有帮助。
有人知道如何解决我的问题吗?
提前感谢您的回答。
在不更改部署描述符的情况下,从EAR中排除xercexImpl库解决了我的问题。新部署期间提到的类是从WL分发中加载的。
框架中所有的类都是通过类加载器(ClassLoader)加载的,通过Loader我们可以实现类的统一管理。下面我们一起来看看Loader提供了哪些加载方法: 1. Loader::import 加载一个类或者加载一个包 方法原型 import( $classPath, $type = IMPORT_APP, $extension=EXT_PHP ) 参数名称 参数说明 $classPath 文件的
加载器,顾名思义,是用于加载元素的,加载的元素可以是库(类),视图文件 , 驱动器 ,辅助函数 , 模型 或其他你自己的文件。 注解 该类由系统自动加载,你无需手工加载。 应用程序"包" 包的视图文件 类参考 应用程序"包" 应用程序包(Package)可以很便捷的将你的应用部署在一个独立的目录中, 以实现自己整套的类库,模型,辅助函数,配置,文件和语言包。 建议将这些应用程序包放置在 appli
问题内容: 我使用了来自Maven回购的log4j-1.2.17捆绑包。我尝试在捆绑软件中执行此代码(我的捆绑软件调用了log4j-1.2.17捆绑软件) 但是我有错误 捆绑包已按顺序加载 如何解决这个错误?拜托,对不起我的英语。最好的问候,亚瑟。 问题答案: 由于您的Log4j类似乎已由sun.misc类加载器加载,我认为某些东西正在从OSGi外部提供log4j类。有Log4J条目解释了为什么它
我在Spring XD处理器模块类加载方面遇到问题,不知如何解决: 我有一个SpringXD处理器模块,在SpringXD容器中运行时找不到某些类。我在jaxb xml转换和xstream xml转换中遇到了类加载问题,因为类加载器找不到用于转换xml的类。jaxb类位于另一个jar文件中。位于同一(模块的)jar文件中的xstream类。无需任何jaxb/xstream代码即可轻松复制该问题(见
如果我有一个内部类声明,例如: 其次是: A$B内部类也会加载吗?如果B内部类没有被声明为“静态”呢?
因此,我有一个类加载器加载一个类,如下所示: 类在运行时位于另一个jar中。以及是在主jar中生成的,然后我取消了它的归档,所以依赖项就在那里。 如何从外部访问其他依赖项。我加载的类文件? 例外情况: