cwa*_*ash 30 java profiling jar classloader
有没有办法确定在运行时从哪些jar加载哪些类?
我相信我们以前一直都在JAR地狱.我在项目上遇到了很多故障排除ClassNotFoundException和问题NoClassDefFoundError.我想避免在罐子里找到一个类的所有实例,并在代码上使用消除过程导致CNFE找到罪魁祸首.
是否有任何分析或管理工具可以为您提供此类信息?
这个问题非常烦人,因为我们应该在类加载时获得这些信息.必须有一种方法来达到它,或记录并找到它,但我知道什么都不会做到这一点,对吗?
我知道OSGi和版本化的软件包/模块旨在使这个问题成为一个问题......但它似乎不会很快消失.:)
注意:我发现这个问题是我的问题的一个子集,与从版本化的jar加载的类有关.
更新:有点相关,这篇文章解释了在jar中(在当前目录下)或在M2_REPO中搜索类的策略. JarScan,扫描所有子文件夹中的特定类的所有JAR文件
更新2:JBoss Tattletale也有些相关
Tom*_*ine 14
从代码中您可以致电:
myObject.getClass().getProtectionDomain().getCodeSource()
Run Code Online (Sandbox Code Playgroud)
(注意,getProtectionDomain可能不幸的是返回null(糟糕的设计),所以"正确的代码"会检查它.)
| 归档时间: |
|
| 查看次数: |
28600 次 |
| 最近记录: |