处理具有多个jdk编译依赖项的项目的最佳方法是什么?

时间:2015-09-17 06:12:02

标签: java ant java-7 jdk1.5

我有一个基于ant的项目,该项目是使用Java 5构建的,这是一个旧项目。

现在我需要再次努力对其进行一些更改。我有另一个项目jar,它是使用Java 7构建的,并且此jar需要作为dependency添加到旧项目中。

根据我的理解,我有两种可能性:

  1. 使用Java 7
  2. 构建旧项目
  3. 使用Java 5
  4. 构建新项目

    第二个选项几乎是不可能的,因为自Java 5以来有很多类结构更改,我必须从头开始重写代码。

    第一个选项似乎可行,但我需要注意什么才能使用Java 5构建Java 7项目,因为我们知道有class structural个更改。

    注意:我尝试使用Java 7构建这个旧项目,它说

    cannot access java.lang.Object bad class file: class file has wrong version 51.0, should be 49.0

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,并且发现安装了不同的Java版本。由于两者都需要,所以我制作了一个脚本来动态更改JAVA_HOME路径。 假设您在Windows计算机上,首先需要设置环境变量:

  • 顶部列表中没有与Java相关的条目(“用户变量”)
  • JAVA_HOME = C:在下面的列表中(“系统变量”)
  • 在“路径”下将C:\ProgramData\Oracle\Java\javapathC:\Program Files (x86)\Common Files\Oracle\Java\javapath替换为%JAVA_HOME%\bin
  • 还添加C:\Program Files\Java\scripts(假设您要将脚本放置在此处)以使用快捷方式来更改正在运行的Java

假设您要使用Java7的快捷方式,则应创建一个java7.bat文件并按以下方式进行编辑

@echo off
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_79
set Path=%JAVA_HOME%\bin;%Path%
echo Java 7 activated.

小心将Java路径与计算机上的实际路径匹配。 根据需要制作多个.bat文件(例如java5.bat,java7.bat),只需在cmd中键入java7即可更改版本。