ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From supareno <reno.rkc...@free.fr>
Subject Re: Java in JDK but ANT can't find it!
Date Mon, 18 May 2009 20:54:51 GMT
David ,

which version of Linux are you using?
is it a Suse version?
did you try do a clean install of java (the basic jdk, not the server 
version)?
i'm asking such things because i saw some strange problems with a suse 
(i think it was a suse ans a Java server version)...

i think that it cannot come from the tool (ant)
it may come from the os and the java version....

if you can, try to install a RedHat or an Ubuntu, compile a jdk 6 and 
tell us if it is working...

supareno
> Hey Derek,
>
> I tried to do what you did, but I still get the error.. I added the ACL to
> my code and tools/jar to my PATH... but still doesn't work. Here is a piece
> of my code.. I just wonder.. what else do you do with the ACL???
>
>             Project p = new Project();
>
>             boolean t = true;
>             Path path = null;
>             AntClassLoader ACL = new AntClassLoader(p, path, t);
>
>             p.setUserProperty("ant.file", buildFile.getAbsolutePath());
>             DefaultLogger consoleLogger = new DefaultLogger();
>             consoleLogger.setErrorPrintStream(System.err);
>             consoleLogger.setOutputPrintStream(System.out);
>             consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
>             p.addBuildListener(consoleLogger);
>
>
>
>             try {
>                 p.fireBuildStarted();
>                 p.init();
>                 ProjectHelper helper = ProjectHelper.getProjectHelper();
>                 p.addReference("ant.projectHelper", helper);
>                 helper.parse(p, buildFile);
>
>                 p.executeTarget(p.getDefaultTarget());
>                 p.fireBuildFinished(null);
>
>                 db.insertBuildData(Integer.toString(revisionNumber), "YES",
> "");
>             } catch (BuildException e) {
>
>                 if (e.toString().contains("Unable to find a javac
> compiler;")){
>
>                     db.insertBuildData(Integer.toString(revisionNumber),
> "YES", "Unable to find a javac compiler");
>
>                 } else{
>                      db.insertBuildData(Integer.toString(revisionNumber),
> "NO", e.toString());
>                 }
>             }
>
> --
> David Nemer
> Sent from Kaiserslautern, RP, Germany
>
> On Mon, May 18, 2009 at 3:33 PM, Cole, Derek E <derek.e.cole@lmco.com>wrote:
>
>   
>> Here is how I have set this up to work:
>>
>> Project Antproject = new Project();
>>
>> boolean t = true;
>> Path path = null;
>> AntClassLoader ACL = new AntClassLoader(Antproject, path, t);
>> //this causes ant to use the system path classpath since I passed in a
>> "true" value. To append //items, use something besides path = null.
>> Antproject.setUserProperty("ant.file", someFile.getAbsolutePath());
>> Antproject.fireBuildStarted();
>> Antproject.init();
>> ProjectHelper helper = ProjectHelper.getProjectHelper();
>> Helper.parse(antproject, someFile);
>> Antproject.executeTarget("package");
>> Antproject.fireBuildFinished(null);
>>
>> This is not the complete source, but I did have to add some methods,
>> etc. You will probably want to add some stuff to the classpath to
>> include all the jar files in ant/lib directory. I also added the
>> java_home/lib/tools.jar to the classpath on my system.
>>
>> I am going to start a blog with some of this info, because I also had a
>> heck  of a time capturing the javac tasks output when adding a logger to
>> the build, as well as some other issues.
>>
>>
>> I was running this java program using a <java> task in a separate ant
>> file, btw. I also intend to fire a version from a perl script.
>>
>>
>> -----Original Message-----
>> From: Ashley Williams [mailto:ashpublic@mac.com]
>> Sent: Sunday, May 17, 2009 9:00 AM
>> To: Ant Users List
>> Subject: Re: Java in JDK but ANT can't find it!
>>
>> Hi David,
>>
>> I never meant that you should modify the ant code.
>> Try launching your app with the fully qualified
>> path to the jdk java eg:
>>
>>  > /path/to/jdk/bin/java MyTestApp
>>
>> So in other words don't rely on your PATH environment variable. It
>> could be
>> also that the bootclasspath has been overridden so that tools.jar has
>> been
>> taken out. Are you on the mac, in which case you don't have tools.jar?
>>
>> Try the same experiment by stealing the very last line in the ant
>> launcher
>> script and hardcoding the values that you know you need to use. On my
>> installation of ant I would start with this line:
>>
>> ant_exec_command="exec \"$JAVACMD\" $ANT_OPTS -classpath
>> \"$LOCALCLASSPATH\" -Dant.home=\"$ANT_HOME\" -Dant.library.dir=
>> \"$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher
>> $ANT_ARGS -cp \"$CLASSPATH\" $ant_exec_args"
>>
>> I say this again, the idea behind this is that you need to assume that
>> your
>> environment variables and shell scripts can't be trusted and therefore
>> bipass them.
>>
>> I mentioned this before, but remove any compiler fork option so that
>> the task
>> is being executed in the same vm. Then if it behaves differently in a
>> forked
>> vm, you know that the vm environment isn't being inherited properly and
>> that's where you need to look.
>>
>> You could try removing all java installations from your machine and then
>> reinstalling just the jdk that you need. I know for example that windows
>> gets up to tricks such as adding a java.exe in the windows system
>> directory
>> that is always first in the PATH that you have to remember to manually
>> delete.
>>
>> Sorry you are having all these frustrating problems, good luck.
>>
>>
>> On 16 May 2009, at 20:25, David Nemer wrote:
>>
>>     
>>> Just a remark, when I run the application and /opt/jdk1.6.0_06/lib/
>>> tools.jar
>>> to the classpath. It gives me a different error message:  "Compile
>>> failed;
>>> see the compiler error output for details." there is no error msg
>>> and it
>>> still says BUILD SUCCESSFUL
>>>
>>>
>>> --
>>> David Nemer
>>> Sent from Kaiserslautern, RP, Germany
>>>
>>> On Sat, May 16, 2009 at 9:11 PM, David Nemer <davidnemer@gmail.com>
>>> wrote:
>>>
>>>       
>>>> Hello Michael,
>>>>
>>>> here is my code on how I'm invoking Ant:
>>>>
>>>>            Project p = new Project();
>>>>            p.setUserProperty("ant.file",
>>>> buildFile.getAbsolutePath());
>>>>            DefaultLogger consoleLogger = new DefaultLogger();
>>>>            consoleLogger.setErrorPrintStream(System.err);
>>>>            consoleLogger.setOutputPrintStream(System.out);
>>>>            consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
>>>>            p.addBuildListener(consoleLogger);
>>>>            p.fireBuildStarted();
>>>>            p.init();
>>>>            ProjectHelper helper = ProjectHelper.getProjectHelper();
>>>>            p.addReference("ant.projectHelper", helper);
>>>>            helper.parse(p, buildFile);
>>>>            p.executeTarget(p.getDefaultTarget());
>>>>
>>>> Michael, I read somewhere that when you invoke ANT in java, it runs
>>>> in the
>>>> same JVM, and forking the ANT process might solve it. Do you have
>>>> any idea
>>>> how would I code this?? Make Ant ran in another JVM?
>>>>
>>>>
>>>> --
>>>> David Nemer
>>>> Sent from Kaiserslautern, RP, Germany
>>>>
>>>> On Sat, May 16, 2009 at 9:03 PM, Michael Ludwig <milu71@gmx.de>
>>>> wrote:
>>>>
>>>>         
>>>>> David Nemer schrieb am 16.05.2009 um 20:51:31 (+0200):
>>>>>
>>>>>           
>>>>>> nemer@kubrick:~$ java -jar
>>>>>>             
>>>>> /home/nemer/apache-ant-1.7.1/lib/ant-launcher.jar
>>>>>           
>>>>>> -version
>>>>>> Apache Ant version 1.7.1 compiled on June 27 2008
>>>>>>
>>>>>> nemer@kubrick:~$ /opt/jdk1.6.0_06/bin/java -jar
>>>>>> /home/nemer/apache-ant-1.7.1/lib/ant-launcher.jar -version
>>>>>> Apache Ant version 1.7.1 compiled on June 27 2008
>>>>>>
>>>>>> so just running JAVA worked as well as running /opt/jdk1.6.0_06/
>>>>>> bin/java
>>>>>>             
>>>>> So tools.jar is found alright. It's an environmental problem,
>>>>> either in
>>>>> the ant shell script (has that been tampered with?) or, more
>>>>> likely, the
>>>>> shell script you're using to launch it.
>>>>>
>>>>> Michael Ludwig
>>>>>
>>>>>
>>>>>           
>> ---------------------------------------------------------------------
>>     
>>>>> 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
>>
>>
>> ---------------------------------------------------------------------
>> 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
View raw message