I ran into some trouble installing ANT for use with the Flex2 SDK. I kept getting the following error:
-
[nick@dolores PIMP]$ ant
-
Buildfile: build.xml
-
-
default:
-
-
release:
-
[echo] compiling the release version of pimp.swf
-
[exec] Warning: -Xmx384m not understood. Ignoring.
-
[exec] Warning: -jar not understood. Ignoring.
-
[exec] Exception in thread "main" java.lang.NoClassDefFoundError: .opt.flex2_sdk.bin....lib.mxmlc.jar
-
[exec] at gnu.gcj.runtime.FirstThread.run() (/usr/lib/libgcj.so.5.0.0)
-
[exec] at _Jv_ThreadRun(java.lang.Thread) (/usr/lib/libgcj.so.5.0.0)
-
[exec] at _Jv_RunMain(java.lang.Class, byte const, int, byte const, boolean) (/usr/lib/libgcj.so.5.0.0)
-
[exec] at __gcj_personality_v0 (/home/nick/PIMP/src/main/actionscript/java.version=1.4.2)
-
[exec] at __libc_start_main (/lib/tls/libc-2.3.4.so)
-
[exec] at _Jv_RegisterClasses (/home/nick/PIMP/src/main/actionscript/java.version=1.4.2)
Everything I could find on google or apache.org pretty much just said "Check your JAVA_HOME and ANT_HOME varables". In the end they were right (kinda), but it was not very helpful at the time.
-
[nick@dolores PIMP]$ echo $JAVA_HOME && echo $ANT_HOME
-
/usr/java/jdk1.5.0_08
-
/opt/ant
Eventually I noticed the "java.version=1.4.2" line, which is a little odd, since I thought java 1.5 would be on the box.
-
[nick@dolores PIMP]$ /usr/bin/java -version
-
java version "1.4.2"
-
gcj (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3)
-
Copyright (C) 2006 Free Software Foundation, Inc.
-
This is free software; see the source for copying conditions. There is NO
-
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
That's odd, why is 1.4.2 coming up? Lets check what Java stuff is here
-
[nick@dolores PIMP]$ sudo find / -name java
-
Password:
-
/usr/share/doc/db4-devel-4.2.52/ref/java
-
/usr/share/doc/libidn-devel-0.5.6/contrib/java
-
/usr/share/java
-
/usr/share/javadoc/java
-
/usr/java
-
/usr/java/jdk1.5.0_08/jre/bin/java
-
/usr/java/jdk1.5.0_08/bin/java
-
/usr/bin/java
So there are at least two executables, whats the deal?
-
[nick@dolores PIMP]$ ls -l /usr/bin/java*
-
lrwxrwxrwx 1 root root 22 Mar 13 2007 /usr/bin/java -> /etc/alternatives/java
Hmm. A symlink. Well, I don't really know what is going on with this box, so instead of messing around, I'll just set my path to look for Java 1.5 first.
[code]
export PATH=/usr/java/jdk1.5.0_08/bin:$PATH
[\code]
And it works! Hurray. Hope that helps. It's probably a good idea to look for existing Java and Ant files right up front, that way some crap like /etc/alternatives won't bite you in the butt for 2 hours.
