使用Eclipse编写Java 6和7编程

时间:2013-05-13 13:19:44

标签: java eclipse java-7 java-6

如何设置为JAVA 6和JAVA 7 JRE开发的Eclipse执行环境和项目?

我问这个是因为并非所有开发用于JAVA 6的程序都将在JAVA 7中运行。

在这种情况下例如:

我需要使用JAVA API interface,此接口的JAVA 6版本是:

public interface Foo {
    int getValue();
}

但是,interface的JAVA 7版本是:

public interface Foo {
    int getValue();
    int getNewValue();
}

现在,如果我像这样对我的程序进行编码:

public class FooImp implements Foo {

    public static void main( String[] args ) {
    }

    public int getValue() {
        return 1;
    }
}

这将在JRE 6上正常运行。但是,如果我在JRE 7上运行它将无法工作,因为Foo接口需要实现操作getNewValue

在这种情况下,使用Eclipse编写程序并确保它将在JRE 6和7上运行的最佳解决方案是什么?我应该如何配置执行环境并运行测试?

注意:此时此刻,我的工作方式如下:

  1. 我在JDK 6上编写程序代码,以确保我没有使用JDK 7中存在任何JDK 7的资源。
  2. 我在JRE 6上进行了第一次测试。
  3. 然后,它导出我的项目并通过JRE 7运行。
  4. 注2:专门搜索java.sql.ResultSet问题,我发现了这个问题: Java 6 Source backward-compatibility and SQL

    现在我看到,这个问题在JDBC中很常见,源代码兼容性因频率而中断。所以,我认为这里没有太多要讨论的内容。谢谢大家的回答和努力。

1 个答案:

答案 0 :(得分:0)

我不知道是否有一种优雅的方法可以做到这一点,但以下方法可行。

  1. 将您的代码库重新组织并重构为两部分:

    • 需要在代码库的Java 6版本中工作的部分,以及
    • 特定于Java 7版本的其他代码。 (这可能涉及使用Java 6和Java 7特定实现类创建一些Java接口。)
  2. 将Java 6和Java 7代码放入单独的Eclipse Java项目中。设置Eclipse项目首选项以为每个项目选择适当的Java合规性级别;例如“项目>属性> Java编译器”......

  3. 如果您还没有这样做,请进一步重构代码,以便核心动态加载Java 6和Java 7特定类;例如使用Class.forName(...)

  4. 这应该允许您在同一个Eclipse工作区中开发Java 6和Java 7部件。

    您还应该能够使用“运行>运行配置”和/或“运行>调试配置”来为Java 6和Java 7创建用于Eclipse内测试的启动器。


    注意:我自己没试过。如果有效,请告诉我们。