tags:

views:

498

answers:

1

I installed Ant on a Fedora 5 machine using yum, but Ant does not launch. I get this error message:

[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.

I have set the following environment variables:

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

Ant is installed at /usr/bin/ant.

I have also come across this post, and it seems that the JAVAVER_LIBDIR variable does not point to something that exists. I set a symbolic link, like the post suggests cleared the issue up for the author, but it did not fix things for me.

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

Edit: I have also set a symbolic link that addressed a similar problem with the JAVAVER_JNIDIR variable:

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

I now get a different error message:

[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

Off to Google these error messages...

+5  A: 

I think that the ANT_HOME should be set with '/usr/bin/ant'. I have that configuration (CENTOS 5).

My sh script under '/etc/profile.d' has this conf.:

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

I hope it helps you.

Aito
That was part of the problem. Thanks. I still haven't totally fixed everything, but this helped along the way.
Scottie T