ant命令不一致 - CentOS 6.3

时间:2013-10-21 04:27:16

标签: java ant

我在CentOS 6.3中,我正在尝试使用 ant 命令重新编译.java文件,但是我得到了这两个结果。

当我运行 ant

    Caused by: java.lang.ClassNotFoundException: org.apache.tools.ant.launch.Launcher
        at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: org.apache.tools.ant.launch.Launcher. Program will exit.

当我运行 sudo ant

    Error: JAVA_HOME is not defined correctly.
  We cannot execute java

当我运行 * echo $ JAVA_HOME *

/usr/lib/jvm/java-1.6.0-openjdk/

在有人建议我应该使用JRE而不是JDK之前,我只需要提一下我正在运行的软件的安装手册 - OpenGTS - 特别要求JDK。关于我做错了什么的想法?

提前致谢。

1 个答案:

答案 0 :(得分:0)

ant是启动java程序的脚本。看来脚本无法找出ANT_HOME的值。在linux上,脚本尝试加载/etc/ant.conf以重置ANT_HOME。您的症状不符合,但值得检查。

Quote from site

  

原因是某处有一个旧版本的蚂蚁   类路径或配置。

     

在某些Linux系统上可能会看到此问题的一个版本。一些   linux系统(例如Fedora Core 2)附带一个ant版本   预装。有一个名为/etc/ant.conf的配置文件   如果存在,ant shell脚本将'dot'包括在内。在Fedora上   核心2,/ etc / ant.conf文件重置ANT_HOME环境   变量到/ usr / share / ant。这导致了一个旧的问题   ant的版本(此原因中为1.5.x)将与新版本一起使用   蚂蚁脚本文件。

     

可以通过执行ant -noconfig -version检查是否是这种情况。