转换源1.7和源



我制作了一些实用程序,可以在我正在制作的几个应用程序中使用。大多数应用程序支持source 1.7,但其中一些不支持(例如,Android应用程序)。

ArrayList<String> list = new ArrayList<>();
String s = "hi";
switch (s) {
    case "hi":

例如,在1.7以下的Java版本中不支持菱形操作符和字符串切换。

当我构建Eclipse或Netbeans项目时,我希望源代码被转换为与低于1.7的源代码兼容。

我能做到吗?如果是,怎么做?如果不是,那我该怎么做呢?手动替换所有源代码到1.6兼容?

这是不可能的。

你可以交叉编译,但是:

javac不接受低于的目标(或编译策略)配置为接受的源语言。

https://blogs.oracle.com/abuckley/entry/versioning_in_the_java_platform

这篇文章是2009年的,但是我怀疑Java SE 7是否改变了这一点。

解决方案:使用您想要支持的最小Java版本的语法(源代码)。

使用持续集成服务器,如Jenkins,并为你想要支持的每个JDK配置一个Job(不需要交叉编译,因为你使用了一些旧Java版本中不可用的api,可能会编译但在运行时失败)

还注意:Oracle的Java SE 6已经到了生命周期结束,建议在大多数情况下更新到Java SE 7(例如,当您没有与Oracle签订支持合同时)。

我能做到吗?

理论上可以。

如果是,如何处理?

使用Java 7 -> Java 6源代码转换器。但是,我从来没有听说过有这样的翻译……

如果不是,那么我该怎么做呢?手动替换所有源代码到1.6兼容?

这是最实用的方法,除非你能找到一个别人已经实现的翻译器。

相关内容

  • 没有找到相关文章

最新更新