所以,我真的很努力地想让Thinking In Java源代码在Ubuntu 13.10和OpenJDK上工作,但是我遇到了一个我无法解决的问题。因此,我按照下面所示的所有步骤执行:
http://www.mindviewinc.com/TIJ4/CodeInstructions.html但是当我尝试使用ant编译所有内容时,当我在终端ant build
中输入时,我得到以下内容:
Buildfile: /home/juan/Documents/TIJ4-code/build.xml
build:
BUILD FAILED
/home/juan/Documents/TIJ4-code/build.xml:59: J2SE5 required
首先,我重置环境变量以确保它们指向JDK,输入:
$ export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
$ export PATH=$PATH:$JAVA_HOME/bin
再试一次,祝你好运。因此,我决定检查导致问题的行(build.xml中的59),其中读取<fail message="J2SE5 required" unless="version1.5"/>
。执行java -version
命令返回如下信息:
java version "1.7.0_51"
OpenJDK Runtime Environment (IcedTea 2.4.4) (7u51-2.4.4-0ubuntu0.13.10.1)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
所以,我用<fail message="J2SE5 rEEEEquired" unless="version1.7.0_51"/>
替换了xml行,并在运行ant build
后得到了完全相同的东西,除了我更改的文本:
Buildfile: /home/juan/Documents/TIJ4-code/build.xml
build:
BUILD FAILED
/home/juan/Documents/TIJ4-code/build.xml:59: J2SE5 rEEEEquired
我尝试了1.7.0,1.7,没有运气。我甚至试图删除这行,但我得到这个:
Buildfile: /home/juan/Documents/TIJ4-code/build.xml
build:
build:
BUILD FAILED
/home/juan/Documents/TIJ4-code/build.xml:60: The following error occurred while executing this line:
/home/juan/Documents/TIJ4-code/object/build.xml:29: J2SE5 required
是的。我真的不想安装Oracle的JDK,因为它看起来太麻烦了,我甚至不确定它是否能工作。我对java和ant甚至linux都不熟悉,所以这些东西真的让我很困惑。我可以很好地编译文件,在JDK中一切都像预期的那样工作,只是这一行给我带来了问题。
你就快成功了!还需要删除:
中的第29行/home/juan/Documents/TIJ4-code/object/build.xml