当前位置:  开发笔记 > 编程语言 > 正文

我的蚂蚁配置有什么问题?

如何解决《我的蚂蚁配置有什么问题?》经验,为你挑选了4个好方法。

我使用yum在Fedora 5机器上安装了Ant,但Ant没有启动.我收到此错误消息:

[bash]# ant
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher
Caused by: java.lang.ClassNotFoundException: org.apache.tools.ant.launch.Launcher
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: org.apache.tools.ant.launch.Launcher.  Program will exit.

我设置了以下环境变量:

JAVA_HOME = /usr/java/latest
ANT_HOME = /usr/bin

Ant安装在/usr/bin/ant.

我也遇到过这篇文章,似乎JAVAVER_LIBDIR变量并没有指向存在的东西.我设置了一个符号链接,就像帖子建议为作者清除了问题,但它并没有为我解决问题.

[bash]# sudo ln -s /usr/share/java /usr/share/java-1.6.0

编辑:我还设置了一个符号链接,解决了JAVAVER_JNIDIR变量的类似问题:

[bash]# sudo ln -s /usr/lib/java /usr/lib/java-1.6.0

我现在得到一个不同的错误消息:

[bash]# ant --execdebug
/usr/bin/build-classpath: error: Could not find jaxp_parser_impl Java extension for this JVM
/usr/bin/build-classpath: error: Could not find xml-commons-apis Java extension for this JVM
/usr/bin/build-classpath: error: Some specified jars were not found
exec "/usr/java/latest/bin/java" -classpath "/usr/share/java-1.6.0/ant.jar:/usr/share/java-1.6.0/ant-launcher.jar:/usr/java/latest/lib/tools.jar" -Dant.home="/usr" -Dant.library.dir="/usr/lib" org.apache.tools.ant.launch.Launcher -cp ""
Buildfile: build.xml does not exist!
Build failed

关闭谷歌这些错误消息......



1> uvsmtid..:

我刚刚在Fedora 18上遇到过类似的问题.

长话短说,运行:

sudo mkdir /usr/lib/java-1.7.0 /usr/share/java-1.7.0

显然,这个问题是特定的,java-1.7.0-openjdk因为存在所有其他JDK版本的类似目录.


细节

运行后出现单行错误ant:

Error: Could not find or load main class org.apache.tools.ant.launch.Launcher

问题是/usr/share/java-utils/java-functions脚本中的某个地方试图设置JAVAVER_JNIDIR/ JAVAVER_LIBDIR变量来引用上面的目录.由于不正确的错误消息重定向到stdout,一些变量得到的分配如下:

LOCALCLASSPATH='/usr/bin/build-classpath: error: JAVAVER_JNIDIR /usr/lib/java-1.7.0 does not exist or is not a directory'

根据所有其他Java版本设置的约定创建目录是最干净的解决方案.


谢谢!!发现使用`--execdebug`,同样的问题发生在我身上,`classpath`没有正确设置.
非常感谢.这也让我对java-1.8.0感到疯狂!

2> user2232387..:
sudo mkdir /usr/lib/java-1.7.0 /usr/share/java-1.7.0

我通过下载tar文件并将其放在/ opt中来安装sun java 1.7.x. 因为我没有安装yum,所以没有创建这些目录.我的JAVA_HOME设置为:

$ echo $JAVA_HOME/
/opt/jdk1.7.0_03/

正如其他人所说,运行以下内容提供了非常有用的调试:

ant --execdebug



3> Aito..:

我认为应该用'/ usr/bin/ant'设置ANT_HOME.我有那个配置(CENTOS 5).

我在'/etc/profile.d'下的sh脚本有这样的配置:

export JAVA_HOME="/usr/local/java";
export ANT_HOME="/usr/local/ant";

我希望它对你有所帮助.



4> dkinzer..:

我有类似的问题,但以下修复了它:

sudo yum install xml-commons-apis

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有