2

我在 CentOS 6.3 机器上。我通过 yum 安装了 ant 和 openjdk。我应该将环境变量 ANT_HOME(和 JAVA_HOME)设置为什么?我查看了整个文件系统,找不到任何适合 ant 的东西。

对于 java,/usr/lib/jvm 中有很多符号链接。而“java”实际上是一个符号链接,它指向另一个链接,另一个链接最终指向/usr/lib/jvm/jre-1.7.0-openjdk/bin/java,这是一个实际的文件。我应该将 JAVA_HOME 设置为什么?

最后,我之所以问,是因为我正在尝试构建一些简单的 Android 程序书 'Beginning Android 4' 并收到此错误消息:

# ant debug
 Buildfile: build.xml

 BUILD FAILED
      NowRedux/build.xml:49: taskdef class com.android.ant.SetupTask cannot be found

从其他 WWW 搜索来看,上述情况似乎是由于没有设置 ANT_HOME 和 JAVA_HOME 造成的,而我没有设置。

4

3 回答 3

5
export ANT_HOME=/usr/share/ant
export JAVA_HOME=/usr/lib/jvm/java

I dont' use CentOS, but I looked in the RPM package "files" section (yum is an RPM frontend/wrapper of sorts, if I recall). http://rpmfind.net//linux/RPM/centos/6.3/i386/Packages/ant-1.7.1-13.el6.i686.html

Also, I'd stick to the packages if you can, but for simple Java stuff you can also just download the ant dist and Java dist and unpack them somewhere on your own (say /opt) and then use those dirs the non-package way.

Once you've set the variables you can make sure they exist with echo $JAVA_HOME and echo $ANT_HOME and so on.

LASTLY, you might want to post this on ServerFault, that seems like it might be more appropriate and you might get better Linux/Package related responses (I answered anyway, in case it helps, but again, I'm not a CentOS guy, and haven't used YUM/RPM in a long time, so grain of salt and all).

于 2013-03-29T21:59:21.390 回答
0

对于 java,/usr/lib/jvm 中有很多符号链接。而'java'实际上是一个符号链接,它指向另一个链接,另一个链接最终指向/usr/lib/jvm/jre-1.7.0-openjdk/bin/java,这是一个实际文件。我应该将 JAVA_HOME 设置为什么?

对于你可能还没有的东西。

理论上,在这种情况下,您应该将它指向/usr/lib/jvm/jre-1.7.0-openjdkJava 目录,该目录是java您将使用的程序的主目录。

然而:

  • 那是 JRE,而不是 JDK
  • Android SDK 不正式支持 Java 7——系统要求适用于 JDK 6

因此,我建议下载 JDK 6(或等效的 OpenJDK),安装它,并设置JAVA_HOME为指向其等效目录(可能是 JDK 的对等目录usr/lib/jvm/jre-1.7.0-openjdk)。您可能还需要运行适当的 CentOS 命令来将这些符号链接切换java为指向 JDK 中的符号链接。我不使用 CentOS,所以我不能告诉你这些是什么,但应该有一些“更新替代”命令可以运行。

于 2013-03-30T13:20:08.930 回答
0

我不确定这是否是解决问题的正确方法,或者它只是回避它,但我这样做了

rm MyProjects/NowRedux/build.xml
android update project --target 8 --path MyProjects/NowRedux

它奏效了。它基本上创建了一个不引用 com.android.ant.SetupTask 的新 build.xml 文件(因此,该问题可能仍然存在,但至少我找到了解决方法)

于 2013-03-30T13:43:33.760 回答