大多数时候,开发人员将很难调试与类加载问题相关的问题,原因如下:
1. 类路径可能有两个不同的 jar,同一个类具有不同的版本。2.类加载问题。
尽管我们可以使用 jar 实用程序来深入研究每个 jar ,但这将非常繁琐且容易出错。
是否有解决此类问题的工具或某种机制。虽然类加载在现实中并不简单,但说一下 weblogic 将如何对特定的 ear 文件进行类加载。
尝试tattletale,它适用于 ant 和 maven:
该工具将为您提供可以帮助您的报告
- 识别 JAR 文件之间的依赖关系
- 从类路径中查找缺失的类
- 发现一个类/包是否位于多个 JAR 文件中
- 发现同一个 JAR 文件是否位于多个位置
- 每个 JAR 文件需要和提供的列表
- 验证类的 SerialVersionUID
- 查找具有不同版本号的类似 JAR 文件
- 查找没有版本号的 JAR 文件
- 查找未使用的 JAR 档案
- 识别密封/签名的 JAR 档案
- 在 JAR 文件中找到一个类
- 获取项目的 OSGi 状态
- 删除列入黑名单的 API 使用
我发现在详细模式下运行 Java 对于解决类路径错误非常方便。
它将显示程序正在加载哪些类和 jar。
在不使用调试程序的情况下尝试解决问题可能是快速的第一步。