Hello Everyone,

So here's what I did... I modified the source file JavaEnvUtils.java from
ANT (ant.jar), I changed the line #47:

private static final String JAVA_HOME = System.getProperty("java.home");
to: private static final String JAVA_HOME = System.getenv("JAVA_HOME");

I compiled everything and added the JavaEnvUtils.class into ant.jar..
everything seemed to be working fine, but then I got the error msg:

Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/opt/jdk1.6.0_06"

Now, ANT goes to my JDK folder, it gets the right JAVA_HOME path, with no
JRE, but it still says that it is not a JDK java!!

I'm about to give up... I dunno what else to do...

HELP please!!! Ant is driving me crazy!!!

--
David Nemer
Sent from Kaiserslautern, RP, Germany

On Sat, May 16, 2009 at 6:07 PM, David Nemer <davidne...@gmail.com> wrote:

> Hello Ashley,
>
> So I ran the code you suggested and
>
> System.out.println("JAVA_HOME: " + System.getenv("JAVA_HOME"));
> System.out.println("PATH:      " + System.getenv("JAVA_HOME"));
>
> Prints the right path to the JDK. So, would you suggest me to go into the
> ANT CompilerAdapterFactory.java source file and modify the
> "System.getProperty("java.home")" to System.getenv("JAVA_HOME") ?
>
> I can't think of anything else in order to solve this.
>
> Derek, when you told me to do this: "AntClassLoader ACL = new
> AntClassLoader(antproject, path, true);" what else am I supposed to do??
> Just set the AntClassLoader to the ant project, path = null, and true? Am I
> supposed to use ACL for anything else?
>
> Cheers,
> --
> David Nemer
> Sent from Kaiserslautern, RP, Germany
>
> On Sat, May 16, 2009 at 5:25 PM, Ashley Williams <ashpub...@mac.com>wrote:
>
>> Try adding these lines to the start of main():
>>
>> System.out.println("java.home: " + System.getProperty("java.home"));
>> System.out.println("JAVA_HOME: " + System.getenv("JAVA_HOME"));
>> System.out.println("PATH:      " + System.getenv("JAVA_HOME"));
>>
>> Ant will print out the error message if it can't find the class
>> com.sun.tools.javac.Main
>> via the classloader, so I would suggest you convince yourself that your
>> program can find
>> that class. Usually this will be true if you are running the program with
>> jdk/bin/java and not jdk/jre/bin/java,
>> regardless of JAVA_HOME and java.home.
>>
>> Try modifying the ant launch script and hardcode a path to jdk/bin/java -
>> if you no longer get
>> a warning message then you know you are on the right track.
>>
>>
>>
>> On 16 May 2009, at 15:11, David Nemer wrote:
>>
>>  Hello Martin,
>>>
>>> The vars are all set up right. And it is "not" an ANT problem. The
>>> problem
>>> is that the "java.home" points to JAVA_HOME/jre , if I ever call this
>>> method
>>> "System.getProperty("java.home");" it will return to me JAVA_HOME/jre
>>> (/opt/jdk1.6.0_06/jre in my case). And all we want is the pure JAVA_HOME
>>> (no
>>> /jre).
>>>
>>> So I found this interesting post that explains better:
>>>
>>> "println ( System.properties.'java.home' );
>>>
>>> prints the path to the JRE for me as well. This is of course not
>>> surprising
>>> and exactly as it should be since this is the path to the JVM, not to the
>>> JDK.
>>>
>>> I think it is clear that the Ant error message is completely misleading.
>>> I
>>> have added a bug report in the Ant Bugzilla (43794).
>>>
>>> I think we have to find out what Ant does internally to allow the javac
>>> task
>>> to run, so that we know how Ant gets round this problem."
>>>
>>>
>>>
>>> --
>>> David Nemer
>>> Sent from Kaiserslautern, RP, Germany
>>>
>>> On Sat, May 16, 2009 at 3:50 PM, Martin Gainty <mgai...@hotmail.com>
>>> wrote:
>>>
>>>
>>>> Herr Nemer
>>>>
>>>> you would'nt be able to run ANT if your JAVA environment vars was fouled
>>>> up
>>>> JRE_HOME points to JRE folder (which contains only java.exe)
>>>> JDK_HOME points to location of BASE FOLDER of javac.exe
>>>> PATH=%JDK_HOME%/bin
>>>>
>>>> Mit Freundliche Gruben
>>>> Martin
>>>> GMT+5
>>>> das Amerika
>>>> ______________________________________________
>>>> Jogi és Bizalmassági kinyilatkoztatás/Verzicht und
>>>> Vertraulichkeitanmerkung/Note de déni et de confidentialité
>>>> Ez az
>>>> üzenet bizalmas.  Ha nem ön az akinek szánva volt, akkor kérjük, hogy
>>>> jelentse azt nekünk vissza. Semmiféle továbbítása vagy másolatának
>>>> készítése nem megengedett.  Ez az üzenet csak ismeret cserét szolgál és
>>>> semmiféle jogi alkalmazhatósága sincs.  Mivel az electronikus üzenetek
>>>> könnyen megváltoztathatóak, ezért minket semmi felelöség nem terhelhet
>>>> ezen üzenet tartalma miatt.
>>>>
>>>> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
>>>> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede
>>>> unbefugte
>>>> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese
>>>> Nachricht
>>>> dient lediglich dem Austausch von Informationen und entfaltet keine
>>>> rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von
>>>> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
>>>> Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas
>>>> le
>>>> destinataire prévu, nous te demandons avec bonté que pour satisfaire
>>>> informez l'expéditeur. N'importe quelle diffusion non autorisée ou la
>>>> copie
>>>> de ceci est interdite. Ce message sert à l'information seulement et
>>>> n'aura
>>>> pas n'importe quel effet légalement obligatoire. Étant donné que les
>>>> email
>>>> peuvent facilement être sujets à la manipulation, nous ne pouvons
>>>> accepter
>>>> aucune responsabilité pour le contenu fourni.
>>>>
>>>>
>>>>
>>>>
>>>>  Date: Sat, 16 May 2009 15:36:19 +0200
>>>>> Subject: Re: Java in JDK but ANT can't find it!
>>>>> From: davidne...@gmail.com
>>>>> To: user@ant.apache.org
>>>>>
>>>>> Hello Supareno,
>>>>>
>>>>> I running it using the command line (running in a linux-server ). And
>>>>> ant
>>>>>
>>>> is
>>>>
>>>>> also running properly.
>>>>>
>>>>> Cheers,
>>>>> --
>>>>> David Nemer
>>>>>
>>>>>
>>>>> On Sat, May 16, 2009 at 12:51 PM, supareno <reno.rkc...@free.fr>
>>>>> wrote:
>>>>>
>>>>>  David ,
>>>>>>
>>>>>> are you using an IDE to run this simple code or are you using the
>>>>>>
>>>>> command
>>>>
>>>>> line?
>>>>>> is the 'ant' command line tool is working properly in a terminal?
>>>>>>
>>>>>> supareno
>>>>>>
>>>>>>
>>>>>> Hey all,
>>>>>>
>>>>>>>
>>>>>>> Well, I did some testing, and I tried to run this simples Java code:
>>>>>>>
>>>>>>>  public static void main(String args[]){
>>>>>>>
>>>>>>>       String JAVA_HOME = System.getProperty("java.home");
>>>>>>>       System.out.println(JAVA_HOME);
>>>>>>>
>>>>>>>  }
>>>>>>>
>>>>>>> And it prints out: /opt/jdk1.6.0_06/jre
>>>>>>>
>>>>>>> So, as Ashley said before, it is not an Ant's problem, it is an
>>>>>>> environment
>>>>>>> or Java problem.
>>>>>>>
>>>>>>> But, I checked, both, bash_profile and bashrc, and they all point to
>>>>>>> /opt/jdk1.6.0_06, no JRE at all. So I was wondering where else could
>>>>>>> I
>>>>>>> look
>>>>>>> at so I can find where this JRE is set.
>>>>>>>
>>>>>>> Does anyone know where the method System.getProperty goes to get the
>>>>>>> java.home? Like a file or something like that??
>>>>>>>
>>>>>>> Cheers
>>>>>>>
>>>>>>> PS: I also used that code to call and in my java code.
>>>>>>>
>>>>>>> --
>>>>>>> David Nemer
>>>>>>> Sent from Kaiserslautern, RP, Germany
>>>>>>>
>>>>>>> On Thu, May 14, 2009 at 5:36 PM, Ashley Williams <ashpub...@mac.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>  I did a lot of copying and pasting from this website to get my own
>>>>>>>>
>>>>>>> code
>>>>
>>>>>  up
>>>>>>>> and running:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>> http://www.ibm.com/developerworks/websphere/library/techarticles/0502_gawor/0502_gawor.html
>>>>
>>>>>
>>>>>>>> However I still believe the problem is with your environment rather
>>>>>>>>
>>>>>>> than
>>>>
>>>>>  your code.
>>>>>>>> Try editing the ant batch file or shell script in order to print out
>>>>>>>> JAVA_HOME and PATH and
>>>>>>>> just at the point where it runs
>>>>>>>> org.apache.tools.ant.launch.Launcher.
>>>>>>>>
>>>>>>>> Then print out all environment variables at the top of your
>>>>>>>> build.xml
>>>>>>>> file.
>>>>>>>> And print out
>>>>>>>> java.home at the start of your java application.
>>>>>>>>
>>>>>>>> If you are forking the compiler, could it not be inheriting the
>>>>>>>> environment
>>>>>>>> correctly?
>>>>>>>>
>>>>>>>>
>>>>>>>> On 14 May 2009, at 16:22, Cole, Derek E wrote:
>>>>>>>>
>>>>>>>> Ashley,  can you post a snippet of how you set up the project you
>>>>>>>>
>>>>>>> launch
>>>>
>>>>>
>>>>>>>>
>>>>>>>>  programmatically from java?
>>>>>>>>>
>>>>>>>>> What does your build file that you are running from java contain in
>>>>>>>>>
>>>>>>>> it?
>>>>
>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Ashley Williams [mailto:ashpub...@mac.com]
>>>>>>>>> Sent: Thursday, May 14, 2009 10:54 AM
>>>>>>>>> To: Ant Users List
>>>>>>>>> Subject: Re: Java in JDK but ANT can't find it!
>>>>>>>>>
>>>>>>>>> Check your PATH to make sure you are launching your application
>>>>>>>>> from
>>>>>>>>> the jdk and not the jre.
>>>>>>>>>
>>>>>>>>> I launch programatically and I don't get these errors with the same
>>>>>>>>> version of ant so it does
>>>>>>>>> sound as if the problem lies outside of ant.
>>>>>>>>>
>>>>>>>>> On 14 May 2009, at 15:46, David Nemer wrote:
>>>>>>>>>
>>>>>>>>> This is what I'm trying to tell you! My JAVA_HOME it is set as
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  /opt/jdk1.6.0_06 I've triple checked it on my bash file! I also
>>>>>>>>>> check with
>>>>>>>>>> echo $JAVA_HOME and which java, they all tell the right path, but
>>>>>>>>>> not ANT!
>>>>>>>>>> This is why I don't understand where does ant get this /jre !!
>>>>>>>>>> --
>>>>>>>>>> David Nemer
>>>>>>>>>> Sent from Kaiserslautern, RP, Germany
>>>>>>>>>>
>>>>>>>>>> On Thu, May 14, 2009 at 4:42 PM, Ashley Williams <
>>>>>>>>>>
>>>>>>>>> ashpub...@mac.com>
>>>>
>>>>>  wrote:
>>>>>>>>>>
>>>>>>>>>> In your description you say that  JAVA_HOME=/opt/jdk1.6.0_06/jre
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  Seriously, try JAVA_HOME= /opt/jdk1.6.0_06 instead
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 14 May 2009, at 15:28, Cole, Derek E wrote:
>>>>>>>>>>>
>>>>>>>>>>> When I had this problem, I KNOW that JAVA_HOME was set correctly.
>>>>>>>>>>>
>>>>>>>>>> I
>>>>
>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>  still ran into the problem. The OP here also said JAVA_HOME was
>>>>>>>>>>>>
>>>>>>>>>>> set
>>>>
>>>>>   correctly. There is some missing step here that prevents the ant
>>>>>>>>>>>> Project
>>>>>>>>>>>> instance from knowing which Java to use.
>>>>>>>>>>>>
>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>> From: Ashley Williams [mailto:ashpub...@mac.com]
>>>>>>>>>>>> Sent: Thursday, May 14, 2009 9:56 AM
>>>>>>>>>>>> To: Ant Users List
>>>>>>>>>>>> Subject: Re: Java in JDK but ANT can't find it!
>>>>>>>>>>>>
>>>>>>>>>>>> It looks like you are pointing to the jre not the jdk.
>>>>>>>>>>>> Try repointing the JAVA_HOME environment variable to the jdk
>>>>>>>>>>>> directory
>>>>>>>>>>>> instead,
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 14 May 2009, at 13:15, David Nemer wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Hello Everyone,
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>  I am running ANT programmatically in JAVA. So, my task is to
>>>>>>>>>>>>> build the
>>>>>>>>>>>>> BUILD.XML.
>>>>>>>>>>>>> I'm able to do so, but it throws an exception saying:
>>>>>>>>>>>>>
>>>>>>>>>>>>> /scratch2/nemer/test/xfire/build.xml:5: The following error
>>>>>>>>>>>>> occurred
>>>>>>>>>>>>> while
>>>>>>>>>>>>> executing this line:
>>>>>>>>>>>>> /scratch2/nemer/test/xfire/build-common.xml:81: Unable to find
>>>>>>>>>>>>> a
>>>>>>>>>>>>> javac
>>>>>>>>>>>>> compiler;
>>>>>>>>>>>>> com.sun.tools.javac.Main is not on the classpath.
>>>>>>>>>>>>> Perhaps JAVA_HOME does not point to the JDK.
>>>>>>>>>>>>> It is currently set to "/opt/jdk1.6.0_06/jre"
>>>>>>>>>>>>>
>>>>>>>>>>>>> But in the end it says: BUILD SUCCESSFUL (but it still throws
>>>>>>>>>>>>>
>>>>>>>>>>>> that
>>>>
>>>>>   exception).
>>>>>>>>>>>>>
>>>>>>>>>>>>> I already set all of my environment variables to
>>>>>>>>>>>>>
>>>>>>>>>>>> /opt/jdk1.6.0_06/
>>>>
>>>>>   (JAVA_HOME and also in PATH), which is a JDK! And even on the
>>>>>>>>>>>>>
>>>>>>>>>>>> error
>>>>
>>>>>   message
>>>>>>>>>>>>> it says that the java is set to /opt/jdk1.6.0_06/jre (which is
>>>>>>>>>>>>> a
>>>>>>>>>>>>> JDK, I
>>>>>>>>>>>>> don't know where it gets the jre from).
>>>>>>>>>>>>>
>>>>>>>>>>>>> So, does any one know how can I solve this problem? Is there a
>>>>>>>>>>>>> configuration
>>>>>>>>>>>>> file in ANT that we need to set up! I'm stuck there!!
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm running the ant 1.7.1.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>> --
>>>>>>>>>>>>> David Nemer
>>>>>>>>>>>>> Sent from Saarbrucken, SL, Germany
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>
>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>  To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  For additional commands, e-mail: user-h...@ant.apache.org
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>
>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>  To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  For additional commands, e-mail: user-h...@ant.apache.org
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>> ---------------------------------------------------------------------
>>>>
>>>>>   To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
>>>>>>>>>>> For additional commands, e-mail: user-h...@ant.apache.org
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>> ---------------------------------------------------------------------
>>>>
>>>>>  To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
>>>>>>>>> For additional commands, e-mail: user-h...@ant.apache.org
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>
>>>>>  To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
>>>>>>>>> For additional commands, e-mail: user-h...@ant.apache.org
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
>>>>>>>> For additional commands, e-mail: user-h...@ant.apache.org
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
>>>>>> For additional commands, e-mail: user-h...@ant.apache.org
>>>>>>
>>>>>>
>>>>>>
>>>> _________________________________________________________________
>>>> Hotmail® goes with you.
>>>>
>>>>
>>>> http://windowslive.com/Tutorial/Hotmail/Mobile?ocid=TXT_TAGLM_WL_HM_Tutorial_Mobile1_052009
>>>>
>>>>
>>
>

Reply via email to