当前位置: 首页 > 面试题库 >

类加载器问题-如何确定要加载的库版本(jar文件)

越运锋
2023-03-14
问题内容

我刚刚解决了另一个我虽然正在使用此版本的图书馆,但显然我的应用服务器已经加载了旧版本的-此库-问题(叹气)。

有人知道一种验证(或监视)您的应用程序是否有权访问所有适当的jar文件或已加载的类版本的好方法吗?

提前致谢!

[
在我看来,PS是开始使用OSGi模块体系结构的充分理由!]

更新
:此文章帮助的!通过将JBoss的类加载器写入日志文件,它使我了解了哪些类加载。


问题答案:

如果您恰好在使用JBoss,则有一个MBean(类加载器存储库iirc),您可以在其中请求已加载特定类的所有类加载器。

如果所有其他方法均失败,则始终存在“ java -verbose:class”,它将为每个要加载的类文件打印jar的位置。



 类似资料:
  • 我对Weblogic类加载器有问题。 当我尝试在WL 12.2.1.2.0上部署我的应用程序时,它失败了。在我服务器上的日志中,我看到了 该类属于xml API库。库进入我的应用程序时带有另一个依赖项(即传递依赖项)。xml API的版本是1.4.01。 之后,我在部署描述符中添加了异常: 然后是一个新的部署。所述问题与组织有关。w3c。dom。元素遍历已解决。没有关于缺少组织的任何信息。w3c。

  • 我试图在程序中加载一个jar文件来调用不同的方法。我有一个类来完成这项工作,但是该类使用加载jar文件,它依赖于系统类加载程序,因此,例如,如果加载的jar执行它完成整个应用程序的执行,终止当前运行的Java虚拟机。我的意图是,如果加载的jar最后一次这样做,它只完成jar,而不是整个应用程序。此外,我希望能够关闭jar,以便在需要时可以稍后重新启动它。我使用以下代码从jar实例化所需的类,并从我

  • 我试图修改几个类的字节代码,这些类的打包jar文件不在类路径中-它们是在给定URL的运行时由自定义的加载的。我尝试使用和来拦截那些类,但失败了。类加载器是遗留项目的一部分,因此我无法直接对其进行更改。 代理可以很好地处理AppClassLoader“本地”加载的类,但只会忽略那些由自定义类加载器加载的类。 CustomClassLoader: 我的代理中使用的ClassFileTransforme

  • 问题内容: 我使用了来自Maven回购的log4j-1.2.17捆绑包。我尝试在捆绑软件中执行此代码(我的捆绑软件调用了log4j-1.2.17捆绑软件) 但是我有错误 捆绑包已按顺序加载 如何解决这个错误?拜托,对不起我的英语。最好的问候,亚瑟。 问题答案: 由于您的Log4j类似乎已由sun.misc类加载器加载,我认为某些东西正在从OSGi外部提供log4j类。有Log4J条目解释了为什么它

  • 问题内容: 我在其他地方找不到这个问题的明确答案,因此我将在这里尝试: 是否有某种方法(以编程方式或其他方式)来获取Application Classloader加载时所加载的JAR /类列表的确切顺序?应用程序类加载器,我是指在应用程序服务器(WLS,WAS,JBoss …)中加载EAR应用程序的类加载器,但显然,它适用于任何类加载器。 因此,概括地说,我想找出的是由指定类加载器加载的JAR的列

  • 如何确认我的JAR文件已加载到Coldfusion中?我在CF10上。 我目前得到这个错误: 我的网站结构如下: 在我的申请中。cfc,我有以下代码: 这是我调用一切的代码: 更新#1 我在检查administor时发现了设置摘要,其中列出了服务器Java类路径。我添加了jar文件的位置并重新启动了服务器。即使路径存在于Administrator中的类路径中,我仍然会遇到相同的错误。 更新2 添加