当前位置:  开发笔记 > 编程语言 > 正文

使用Java 7编译Java 6而不安装Java 6

如何解决《使用Java7编译Java6而不安装Java6》经验,为你挑选了1个好方法。

我的应用程序应该运行的目标系统使用Java 6.在我的开发机器上,我有Java 7.我可以在不下载Java 6的情况下进行开发吗?

我在http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html上找到了一个交叉编译的例子:

 javac -source 1.6 -target 1.6 -bootclasspath C:\jdk1.6.0\lib\rt.jar -extdirs "" OldCode.java

但是,这也需要存在一个属于Java 6的rt.jar.有更简单的方法吗?



1> meriton - on..:

新Java版本通常会更改Java语言(源和类文件格式)和Java API.

Java编译器可以以旧格式发出类文件,即使源是新格式(这些版本分别由-target和指定-source).因此,您不需要旧的编译器来定位旧的JVM.

但是,Java API的更改有些难以解决.最简单的方法是使用您目标的Java版本的API进行编译(-bootclasspath).当然,您可能会对使用较新的API感到自信,并跳过此步骤,但确保实际编译和测试旧运行时库的唯一方法.

简而言之,虽然交叉编译有助于相同的源可以与不同的Java版本一起使用,但您应该针对您打算使用的实际Java版本进行编译和测试,这需要旧的JRE(或JDK).

顺便说一下,Java IDE中也提供了所有这些设置.例如,在eclipse中,可以在项目的编译器设置中设置合规级别,并将相应的"JRE系统库"添加到项目的"构建路径"中:

在此输入图像描述

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有