Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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
转换源1.7和源<;Java中的1.7_Java_Eclipse_Netbeans - Fatal编程技术网

转换源1.7和源<;Java中的1.7

转换源1.7和源<;Java中的1.7,java,eclipse,netbeans,Java,Eclipse,Netbeans,我已经制作了一些实用程序,可以在我正在制作的几个应用程序中使用。大多数应用程序支持Source1.7,但其中一些不支持(例如Android应用程序) ArrayList list=new ArrayList(); 字符串s=“hi”; 开关{ 案例“hi”: 例如,1.7以下的Java版本不支持菱形运算符和切换字符串 我希望在构建Eclipse或Netbeans项目时,将源代码转换为与1.7以下的源代码兼容 我能做到吗?如果是,如何做到?如果不是,那么我应该怎么做?手动将所有源代码替换为1.6

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

ArrayList list=new ArrayList();
字符串s=“hi”;
开关{
案例“hi”:
例如,1.7以下的Java版本不支持菱形运算符和切换字符串

我希望在构建Eclipse或Netbeans项目时,将源代码转换为与1.7以下的源代码兼容


我能做到吗?如果是,如何做到?如果不是,那么我应该怎么做?手动将所有源代码替换为1.6兼容?好的,这是不可能的

您可以进行交叉编译,但:

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

这篇文章来自2009年,但我怀疑JavaSE7是否改变了这一点

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

使用像Jenkins这样的持续集成服务器,并根据您想要支持的JDK配置作业(不需要交叉编译,交叉编译可能会编译,但在运行时会失败,因为您使用了一些旧Java版本中不可用的API)

另请注意:Oracle的Java SE 6已到使用寿命的尽头,建议在大多数情况下(例如,当您与Oracle没有支持合同时)更新为Java SE 7

我能做到吗

理论上是的

如果是,如何进行

使用Java7->Java6源代码转换器。但是,我还没有听说有这样的转换器

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


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

你可以通过十六进制编辑器在中更改
minor\u版本
major\u版本
。但这是危险的,并不总是有效的。我们中的一些人别无选择。我们处于公司或政府环境中,没有任何意图迁移到Java 7直到被迫迁移。特别是所有Java 7安全问题。@GilbertLeBlanc-我想你会发现,这些Java 7安全问题中的许多/大部分也是Java 6安全问题。例如,最近四个Java 7安全版本都与Java 6安全版本相对应。
ArrayList<String> list = new ArrayList<>();
String s = "hi";
switch (s) {
    case "hi":