ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian FitzGerald <bmfitzgera...@gmail.com>
Subject Re: Ant not respecting JAVA_HOME
Date Mon, 22 Aug 2011 14:42:29 GMT
When I wrap the variable and value with quotes as Parag suggested it runs
the build but still looks for Java in the jre directory.

I commented out the echo off line as suggested and this was the output (hope
it's not too annoying that I post the whole thing):

C:\Users\Brian>cd C:\AntTest

C:\AntTest>set "JAVA_HOME=C:\Program Files\Java\jdk.1.6.0_23"

C:\AntTest>set ANT_HOME=C:\Ant

C:\AntTest>%ANT_HOME%\bin\ant

C:\AntTest>REM @echo off

C:\AntTest>REM  Licensed to the Apache Software Foundation (ASF) under one
or more

C:\AntTest>REM  contributor license agreements.  See the NOTICE file
distributed with

C:\AntTest>REM  this work for additional information regarding copyright
ownership.

C:\AntTest>REM  The ASF licenses this file to You under the Apache License,
Version 2.0

C:\AntTest>REM  (the "License"); you may not use this file except in
compliancewith

C:\AntTest>REM  the License.  You may obtain a copy of the License at

C:\AntTest>REM

C:\AntTest>REM      http://www.apache.org/licenses/LICENSE-2.0

C:\AntTest>REM

C:\AntTest>REM  Unless required by applicable law or agreed to in writing,
software

C:\AntTest>REM  distributed under the License is distributed on an "AS IS"
BASIS
,

C:\AntTest>REM  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
or implied.

C:\AntTest>REM  See the License for the specific language governing
permissions and

C:\AntTest>REM  limitations under the License.

C:\AntTest>REM This is an inordinately troublesome piece of code,
particularly because it

C:\AntTest>REM tries to work on both Win9x and WinNT-based systems. If we
could abandon '9x

C:\AntTest>REM support, things would be much easier, but sadly, it is not
yet time.

C:\AntTest>REM Be cautious about editing this, and only add WinNT specific
stuff in code that

C:\AntTest>REM only runs on WinNT.

C:\AntTest>if "" == "" goto homeDrivePathPre

C:\AntTest>if "C:\Users\Brian" == "" goto userProfilePre

C:\AntTest>if "C:\Users\Brian" == "" goto userProfilePre

C:\AntTest>if exist "C:\Users\Brian\antrc_pre.bat" call
"C:\Users\Brian\antrc_pre.bat"

C:\AntTest>if "C:\Users\Brian" == "" goto alpha

C:\AntTest>if "C:\Users\Brian" == "" goto alpha

C:\AntTest>if "C:\Users\Brian" == "C:\Users\Brian" goto alpha

C:\AntTest>if "Windows_NT" == "Windows_NT"

C:\AntTest>if "Windows_NT" == "WINNT"

C:\AntTest>if "C:\Ant" == "" goto setDefaultAntHome

C:\AntTest>if not _t == _\ goto checkClasspath

C:\AntTest>set _USE_CLASSPATH=yes

C:\AntTest>rem CLASSPATH must not be used if it is equal to ""

C:\AntTest>if ".;C:\Program Files\Java\jre6\lib\ext\QTJava.zip" == """" set
_USE_CLASSPATH=no

C:\AntTest>if ".;C:\Program Files\Java\jre6\lib\ext\QTJava.zip" == "" set
_USE_CLASSPATH=no

C:\AntTest>rem Slurp the command line arguments. This loop allows for an
unlimited number

C:\AntTest>rem of arguments (up to the command line limit, anyway).

C:\AntTest>set ANT_CMD_LINE_ARGS=

C:\AntTest>if """" == """" goto doneStart

C:\AntTest>if "yes" == "no" goto findAntHome

C:\AntTest>if not _p == _\ goto findAntHome

C:\AntTest>rem find ANT_HOME if it does not exist due to either an invalid
value passed

C:\AntTest>rem by the user or the C:\Ant\bin\ant problem on Windows 9x

C:\AntTest>if exist "C:\Ant\lib\ant.jar" goto checkJava

C:\AntTest>set _JAVACMD=

C:\AntTest>if "C:\Program Files\Java\jdk.1.6.0_23" == "" goto noJavaHome

C:\AntTest>if not exist "C:\Program Files\Java\jdk.1.6.0_23\bin\java.exe"
goto noJavaHome

C:\AntTest>if "" == "" set _JAVACMD=java.exe

C:\AntTest>if not "" == "" goto runAntWithJikes

C:\AntTest>if "yes" == "no" goto runAntNoClasspath

C:\AntTest>"java.exe"  -classpath "C:\Ant\lib\ant-launcher.jar"
"-Dant.home=C:\A
nt" org.apache.tools.ant.launch.Launcher  -cp ".;C:\Program
Files\Java\jre6\lib\
ext\QTJava.zip"
Unable to locate tools.jar. Expected to find it in C:\Program
Files\Java\jre6\li
b\tools.jar
Buildfile: C:\AntTest\build.xml

hello:
     [echo] Hello, World

BUILD SUCCESSFUL
Total time: 0 seconds

C:\AntTest>rem Check the error code of the Ant build

C:\AntTest>if not "Windows_NT" == "Windows_NT" goto onError

C:\AntTest>set ANT_ERROR=0

C:\AntTest>goto end

C:\AntTest>rem bug ID 32069: resetting an undefined env variable changes the
errorlevel.

C:\AntTest>if not "java.exe" == "" set _JAVACMD=

C:\AntTest>if not "" == "" set ANT_CMD_LINE_ARGS=

C:\AntTest>if "0" == "0" goto mainEnd

C:\AntTest>rem If there were no errors, we run the post script.

C:\AntTest>if "Windows_NT" == "Windows_NT"

C:\AntTest>if "Windows_NT" == "WINNT"

C:\AntTest>if "" == "" goto homeDrivePathPost

C:\AntTest>if "C:\Users\Brian" == "" goto userProfilePost

C:\AntTest>if "C:\Users\Brian" == "" goto userProfilePost

C:\AntTest>if exist "C:\Users\Brian\antrc_post.bat" call
"C:\Users\Brian\antrc_post.bat"

C:\AntTest>if "C:\Users\Brian" == "" goto omega

C:\AntTest>if "C:\Users\Brian" == "" goto omega

C:\AntTest>if "C:\Users\Brian" == "C:\Users\Brian" goto omega

C:\AntTest>exit /b

Thank you for any further suggestions.

Brian


2011/8/22 Parag Doke <parag.doke@gmail.com>

> The right syntax to include a value with spaces for batch files / cmd.exe
> is:
> set "variable=value with spaces"
> So, you should have used
> set "JAVA_HOME=C:\Program Files\Java\jdk.1.6.0_23"
>
> Not sure if this might help you original issue though. Did you try to
> comment the echo off line (precede with "rem ") in ant.bat / ant.cmd
> under ANT_HOME/bin? Maybe, if you comment that, you will see on the
> console what executable it is trying to run.
>
> Hope this helps,
> Parag Doke
> Save paper, save trees. Do not print emails/documents unless
> absolutely necessary.
>
>
>
> On Mon, Aug 22, 2011 at 7:27 PM, Brian FitzGerald
> <bmfitzgerald3@gmail.com> wrote:
> > Thanks for the help guys... this is what I got:
> >
> > WITH QUOTES:
> > C:\Users\Brian>cd C:\AntTest
> > C:\AntTest>set JAVA_HOME="C:\Program Files\Java\jdk.1.6.0_23"
> > C:\AntTest>set ANT_HOME="C:\Ant"
> > C:\AntTest>%ANT_HOME%\bin\ant
> > The syntax of the command is incorrect.
> >
> > WITHOUT QUOTES:
> > C:\Users\Brian>cd C:\AntTest
> > C:\AntTest>set JAVA_HOME=C:\Program Files\Java\jdk.1.6.0_23
> > C:\AntTest>set ANT_HOME=C:\Ant
> > C:\AntTest>%ANT_HOME%\bin\ant
> > Unable to locate tools.jar. Expected to find it in C:\Program
> > Files\Java\jre6\li
> > b\tools.jar
> > Buildfile: C:\AntTest\build.xml
> >
> > hello:
> >     [echo] Hello, World
> >
> > BUILD SUCCESSFUL
> > Total time: 0 seconds
> >
> > So with quotes it wouldn't run at all.  Without quotes, it ran, but still
> is
> > looking in the JRE directory.  Is now a good time to start banging my
> head
> > against the wall?
> >
> > Brian
> >
> >
> >
> > 2011/8/22 <andy.ling@quantel.com>
> >
> >> Santanu Basu <santanu.basu@tcs.com> wrote on 22/08/2011 14:07:02:
> >>
> >> > Have you done this?
> >> >
> >> > C:\Users\Brian>cd C:\AntTest
> >> > C:\AntTest>set JAVA_HOME=C:\Program Files\Java\jdk.1.6.0_23
> >> > C:\AntTest>set ANT_HOME=C:\Program Files\Apache Software
> >> > Foundation\apache-ant-1.8.2
> >> > C:\AntTest>%ANT_HOME%\bin\ant
> >> >
> >> > The above should work. Which version of Ant you are using?
> >> >
> >>
> >> Just to be sure, you should probably put quotes round those
> >> paths with spaces in.
> >>
> >> i.e.
> >> C:\AntTest>set JAVA_HOME="C:\Program Files\Java\jdk.1.6.0_23"
> >> C:\AntTest>set ANT_HOME="C:\Program Files\Apache Software
> >> Foundation\apache-ant-1.8.2"
> >>
> >> Regards
> >>
> >> Andy Ling
> >>
> >>
> >>
> >> --
> >>
> >> This e-mail is intended for the named addressees only. Its contents may
> be
> >> privileged or confidential and should be treated as such. If you are not
> >> an intended recipient please notify the sender immediately and then
> delete
> >> it;  do not copy, distribute, or take any action based on this e-mail.
> In
> >> the pursuit of its legitimate business activities and its conformance
> with
> >> relevant legislation, Quantel may access any e-mail (including
> >> attachments) it originates or receives, for potential scrutiny.
> >>
> >> Quantel is the trade name used by Quantel Holdings Limited and its
> >> subsidiaries.  Quantel Holdings Limited is registered in England &
> Wales.
> >> Registration No: 4004913
> >> Contact details for all Quantel Offices and Companies can be found on
> our
> >> website www.quantel.com or by writing to the holding company.
> >> Registered address: Turnpike Road, Newbury, Berkshire, RG14 2NX, United
> >> Kingdom
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> >> For additional commands, e-mail: user-help@ant.apache.org
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message