Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于检查源代码对特定Java版本的依赖关系的工具_Java_Version_Compatibility_Analysis_Animal Sniffer - Fatal编程技术网

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

用于检查源代码对特定Java版本的依赖关系的工具,java,version,compatibility,analysis,animal-sniffer,Java,Version,Compatibility,Analysis,Animal Sniffer,是否有一种快速的方法(例如工具)可以从源代码(或者甚至从编译的类)检测应用程序的哪些部分调用仅在特定Java版本中实现的Java API方法?(例如,我的应用程序的哪些部分是特定于Java6的) 我不一定要跳过所有的类不匹配错误,避免使用试错法。假设我只想记录应用程序的哪些部分在为Java6编写时无法工作,我想在版本5 JDK中运行它 有这样的东西吗?谷歌这次没有帮上忙,我也没有在这里找到任何解决方案(确实是一个罕见的例子:)这可能会对这方面有所帮助,尤其是它。如果我理解正确,你所描述的对我来说

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

我不一定要跳过所有的类不匹配错误,避免使用试错法。假设我只想记录应用程序的哪些部分在为Java6编写时无法工作,我想在版本5 JDK中运行它


有这样的东西吗?谷歌这次没有帮上忙,我也没有在这里找到任何解决方案(确实是一个罕见的例子:)

这可能会对这方面有所帮助,尤其是它。

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

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


如果您只选择哪一个版本是您的最低支持版本并使用它,这会更好。

哇,这正是我要搜索的,谢谢您快速而有用的回答!Hudson真的是一个很棒的软件,不仅仅是作为一个CI服务器,似乎:)顺便说一句,该项目已经转移到Codehaus,那里已经有了1.5版:凯文,谢谢你的额外思考。我并不是要编写一个新的软件,它可以优雅地从JDK6降级到JDK5(不过这可能真的很有用,省去了动物嗅探器以您描述的方式来满足依赖性)。我正在寻找一个工具来分析现有代码,以便快速了解在JDK5环境中部署有问题的JDK6应用程序时,哪些可用,哪些不可用,这样我就可以估计需要进行哪些更改才能适应旧版本。