当前位置: 首页 > 面试题库 >

编译为1.5编写的Java代码以与1.4 JRE一起使用?

戚阳曜
2023-03-14
问题内容

我有一个使用泛型和一些Java 1.5 / 6位和片段的项目。是否可以编译此代码以在运行1.4 JRE的系统上工作?

我使用ANT构建脚本和javac任务来编译库。当target属性为1.5时,这可以很好地构建。

如果将目标更改为1.4,则会出现以下错误:

generics are not supported in -source 1.4 
(use -source 5 or higher to enable generics)

因此,我添加了一个source属性,并尝试将其值设置为5和1.5。新错误:

javac: source release 5 requires target release 1.5

我是否必须遍历所有代码并更改1.5项才能使其正常工作?


问题答案:

我没有使用任何一种解决方案,但是有

  1. 逆织
  2. 指定不受支持的-target jsr14 可能 有效
  3. 逆向翻译
  4. 剥皮机
  5. JBossRetro

您可能还会发现javac -XD-printflat有用(尽管请注意不要覆盖原始来源)。



 类似资料:
  • 我们目前在Java8中编译了代码,但我们在Java11 VM上运行它。现在我们也在尝试将代码移动到Java11编译时。想知道在Java8中编译代码与在Java11中编译代码在性能方面是否有任何好处,因为两个编译器都会生成不同的类文件(字节码)?在效率方面,一个与另一个有何不同?

  • 问题内容: 我一直在尝试将Notepad 设置为一个小的Java环境,主要是为了学习Java,因为我很难获得一个简单的程序来与NetBeans一起使用,不幸的是,有关设置Notepad 来调用Java代码的所有建议均不起作用。 我猜notepad ++发生了变化,或者Java开发工具包已经进行了大规模修改,因为我使用的所有示例都会导致错误,即使错误的余地很小。 首先,我找到了这个网站:http :

  • 1.1. 代码编译 1.1.1. Openwrt编译 1.1.2. Kernel编译 1.1.3. Uboot编译 1.1.4. VSP编译 1.1. 代码编译 1.1.1. Openwrt编译 作为Kamino18 YODAOS的整体编译环境,使用openwrt可以编译出系统正常运行所需的主要image如下: 镜像名字 镜像运行位置 镜像说明 镜像生成位置 mcu.bin MCU The ima

  • 问题内容: 当我尝试通过发出命令“ g ++ qr.cpp -o qr”来编译此文件时,系统挂起。我在其他任何地方都没有看到这种错误。 我的编译器版本信息如下。 问题答案: 你知道这些有多大吗? 每个至少1GB !!!您将要动态分配它们…

  • 我试图理解Scala代码如何在Java的IDE中与Java一起工作。我在使用Spark Java时遇到了这个疑问,在Spark Java中,我看到Scala包也在代码中,并且使用了相应的类和方法。 我的理解是,Scala代码需要Scala的编译器转换成Java.class文件,然后从它们开始JDK在JVM中完成它的部分,转换成二进制文件并执行操作。如果我说错了,请指正。 之后,在eclipse中的

  • 问题内容: 在方法或类范围内,下面的行进行编译(带有警告): 在类范围中, 变量获取其默认值 ,以下给出“未定义引用”错误: 它不是第一个应该以相同的“未定义参考”错误结束吗?还是第二行应该编译?还是我缺少什么? 问题答案: tl; dr 对于 字段 ,是非法的,因为它是对的非法前向引用。您实际上可以通过编写来解决此问题,该文件可以毫无抱怨地进行编译。 对于 局部变量 ,是非法的,因为未在使用前进