用于检查特定Java版本的依赖关系源的工具

时间:2010-06-11 17:41:47

标签: java version compatibility analysis animal-sniffer

是否有一种快速方法(例如工具)从源(或甚至可能来自编译类)检测应用程序的哪些部分调用仅在特定Java版本中实现的Java API方法? (例如,我的应用程序的哪些部分是特定于Java6的)

我不一定想跳过所有 ClassMismatchErrors 并避免使用试错法。假设我只想记录应用程序的哪些部分如果是为Java6而写的,那么我想在第5版JDK中运行它。

有类似的东西吗? Google这次没有帮助,我也没有找到任何解决方案(确实是一个罕见的案例:)。

2 个答案:

答案 0 :(得分:3)

Animal Sniffer可能对此有所帮助,尤其是Maven plugin

答案 1 :(得分:0)

如果我理解正确的话,你所描述的对我来说听起来不是一个好主意。

听起来你想在JDK 6上构建一些库(指定-target 1.5),但是让它在JDK 5上运行,只是在这里有某些类或方法而且没有用(因为它们需要Java6-只有API)。我不会这样做。 应该工作的方法可能仍会触发要加载的类,该类本身包含对Java 6中的新类的某些引用,并且Error将是抛出。

如果您只选择最低支持版本的版本并使用它,那就更好了。

相关问题