我刚刚开始使用Thinking in Java书籍学习Java,并且使用ant会遇到一些麻烦。
我正在使用Ubuntu 12.04,并安装了openjdk 7 java。我还将CLASSPATH设置为代码文件夹
当我在代码文件夹中运行ant时,这是输出:
Exception in thread "main" java.lang.RuntimeException: JDK 1.4.1 or higher is required to run the examples in this book.
[CheckVersion] at com.bruceeckel.tools.CheckVersion.main(Unknown Source)
但是当我运行java -version时,这是输出:
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.5) (6b27-1.12.5-0ubuntu0.12.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
如何正确设置ant和classpath?
P / S:谢谢大家的帮助!我弄清楚为什么它没能检查版本。 CheckVersion.java中的测试条件是“if(minor&lt;'4'|| point&lt;'1')”。然而我的版本是1.6.024,尽管6> 4但0 <1这就是它失败的原因。我想我们需要重写测试条件!
答案 0 :(得分:4)
尝试将JAVA_HOME环境变量设置为1.6 JDK的安装目录。
当您键入“java -version”时,命令shell将使用它在PATH中找到的第一个java可执行文件。 Ant可能会在JAVA_HOME目录的“bin”子目录中查找java可执行文件。
要查找java可执行文件的位置,请键入以下内容:
which java
让我们说你有以下输出:
/usr/local/java1.6/bin/java
然后,您可以将JAVA_HOME变量设置为/usr/local/java1.6。假设有Bourne或Bash shell,其语法为
export JAVA_HOME=/usr/local/java1.6