【发布时间】:2015-09-17 06:12:02
【问题描述】:
我有一个基于ant 的项目,它是使用Java 5 构建的,它是一个旧项目。
现在我需要再次处理它以对其进行一些更改。我有另一个项目jar,它是用Java 7 构建的,这个jar 需要作为dependency 添加到旧项目中。
据我了解,这里有两种可能:
- 使用
Java 7构建旧项目 - 使用
Java 5构建新项目
第二个选项几乎是不可能的,因为自 Java 5 以来有很多类结构更改,我几乎必须从头开始重写代码。
第一个选项似乎可行,但我需要注意什么才能使用Java 7 构建一个Java 5 项目,因为我们知道class structural 发生了变化。
注意:我已经尝试使用 Java 7 构建这个旧项目,它说
“cannot access java.lang.Object bad class file: class file has wrong version 51.0, should be 49.0”
【问题讨论】:
-
应该没有任何问题。只需使用 Java 7 编译,看看是否有任何编译错误。
-
你刚试过用7编译吗?
-
编译时出现编译错误,上面写着
bad class version , should be 49.0。 -
版本
49来自 java 5,因此您使用的是 java 5 而不是 java 7。 -
@FranMontero,你是对的,这是我得到的:
Detected Java version: 1.5 in: /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home/jre但我不确定为什么会有 java 5 ?我尝试通过设置 javac target=1.7 使用 java 7 构建它