确定程序与哪个Java版本(或Eclipse版本)兼容

确定程序与哪个Java版本(或Eclipse版本)兼容,java,eclipse,version,backwards-compatibility,Java,Eclipse,Version,Backwards Compatibility,在我的编码环境中,我通常使用最新版本的Java和Eclipse。当我编写源代码时,我并不注意我使用的API方法或类是否与旧版本的Java或Eclipse向后兼容。javadoc中存在@since参数,该参数设置为新引入特性的版本号。因此,有时我会手工检查是否使用最近引入的方法或类,并尝试替换它们以保持向后兼容 有没有办法自动检查Java程序或Eclipse插件是否能与旧版本的Java或Eclipse一起工作 我将使我的问题更加精确:我对一个解决方案感兴趣,因为我不需要安装旧版本的Java或Ecl

在我的编码环境中,我通常使用最新版本的Java和Eclipse。当我编写源代码时,我并不注意我使用的API方法或类是否与旧版本的Java或Eclipse向后兼容。javadoc中存在@since参数,该参数设置为新引入特性的版本号。因此,有时我会手工检查是否使用最近引入的方法或类,并尝试替换它们以保持向后兼容

有没有办法自动检查Java程序或Eclipse插件是否能与旧版本的Java或Eclipse一起工作


我将使我的问题更加精确:我对一个解决方案感兴趣,因为我不需要安装旧版本的Java或Eclipse。也许有一个工具可以检查javadoc注释,并告诉我何时使用一个只在大于预定义版本号的版本中可用的方法。我知道,如果javadoc不是最新的,那么这种方法的可靠性不是100%。

在编译时使用
-source
-target
&
-bootclasspath
选项


有关更多详细信息,请参阅Windows Java手册页中的。

只需尝试根据较旧版本的JDK编译应用程序即可


在Eclipse中,您可以在Windows->Preferences->Java->Installed JRE下配置多个JDK。然后,对于单个项目,可以切换到项目构建路径的“库”选项卡中任何已安装JRE的标准库。这将导致完全重新编译,如果项目使用该版本中不存在的标准API的任何部分,将出现错误。

检查此处以了解Eclipse和Java版本之间的兼容性

主要java版本的差异不会在较旧的JVM上运行。库更改为向zip文件处理添加字符编码参数可能会破坏API,但到目前为止,设置源代码和目标代码版本对我来说已经足够了。你是在问编写和使用eclipse插件的问题吗,还是针对其他JAR/库编写java项目?@PaulWebster:这对我来说似乎是一个类似的问题:我的java程序是否向后兼容较旧的java版本,我的Eclipse插件是否向后兼容较旧版本的Eclipse API。我想也许人们可以自动使用javadoc中给出的信息。是的,这是一个好主意,对于java版本来说肯定有效。但是Eclipse版本呢?有没有办法不安装旧版本,而是使用javadoc参数?@Boris:API的哪些部分存在于哪个Java版本中与eclipse完全无关。它只是尝试根据项目配置使用的JDK API库编译源代码。eclipse最重要的是语言特性,因为这些特性必须在语法突出显示和编译器中得到支持。我正在编写一个使用EclipseAPI的Eclipse插件。我想在不安装所有旧版本的情况下确定插件向后兼容到哪个Eclipse版本。+1提醒我多JREs功能。我正要问“eclipse如何决定使用哪个Java版本?”原因与OP类似(因为eclipse的“安装详细信息”列出了
jdk1.6.0_37
而不是我当前的
%JAVA_HOME%
指向的
jdk1.5.0_17
,但是Windows>Preferences>JAVA>
安装的JRE
解释了这一点。不要将链接作为答案发布,否则答案将无效