Hi,

I am trying to use the ANTLR task and am getting following
problem:

- If I put the antlr.jar in the %ANT_HOME%\lib dir and try
  to run ant, I get 

  java.lang.NoClassDefFoundError: antlr/Tool

  (Please see the attached file output.txt for ant -debug output).

- But if I set my CLASSPATH to point to the antlr.jar, and then
  run ant, I am able to build successfully.

I am using ant 1.3alpha, Sun JDK1.2.2, ANTLR 2.7.1 on WinNT 4.0.
The build.xml fragment is as follows:

<target name="genparser.antlr" depends="prepare"
  <antlr target="src/parsergrammars/antlr_aliases.g"
         outputdirectory="${build.dir}/${parser.pkg.dir}/antlr"
         dir="."
         fork="true"/>
</target>

With and without the fork parameter, both give same error.
I have tried this with rebuilding Ant myself from CVS
and also rebuilding antlr.jar, all with the same JDK1.2.2,
but with the same results.

If I have a set of jars required for the build and I do not want
the user to have to set his/her classpath, how do I modify
the classpath inside the build.xml? (assuming the jars are
at known locations say in the .\lib\ or .\3rd\lib dir).
Not all tasks support the <classpath>.

With regards,
 Nikhil
Ant version 1.3alpha compiled on January 22 2001

Buildfile: build.xml
Setting project property: ant.java.version -> 1.2
Detected Java Version: 1.2
Detected OS: Windows NT
 +User task: ilasm     org.apache.tools.ant.taskdefs.optional.dotnet.Ilasm
 +User task: cab     org.apache.tools.ant.taskdefs.optional.Cab
 +User task: copydir     org.apache.tools.ant.taskdefs.Copydir
 +User task: chmod     org.apache.tools.ant.taskdefs.Chmod
 +User task: mail     org.apache.tools.ant.taskdefs.SendEmail
 +User task: propertyfile     org.apache.tools.ant.taskdefs.optional.PropertyFile
 +User task: fixcrlf     org.apache.tools.ant.taskdefs.FixCRLF
 +User task: wlrun     org.apache.tools.ant.taskdefs.optional.ejb.WLRun
 +User task: antstructure     org.apache.tools.ant.taskdefs.AntStructure
 +User task: cccheckin     org.apache.tools.ant.taskdefs.optional.clearcase.CCCheckin
 +User task: ejbjar     org.apache.tools.ant.taskdefs.optional.ejb.EjbJar
 +User task: wljspc     org.apache.tools.ant.taskdefs.optional.jsp.WLJspc
 +User task: compileTask     org.apache.tools.ant.taskdefs.CompileTask
 +User task: copy     org.apache.tools.ant.taskdefs.Copy
 +User task: ccupdate     org.apache.tools.ant.taskdefs.optional.clearcase.CCUpdate
 +User task: javacc     org.apache.tools.ant.taskdefs.optional.javacc.JavaCC
 +User task: gzip     org.apache.tools.ant.taskdefs.GZip
 +User task: sound     org.apache.tools.ant.taskdefs.optional.sound.SoundTask
 +User task: unjar     org.apache.tools.ant.taskdefs.Expand
 +User task: available     org.apache.tools.ant.taskdefs.Available
 +User task: war     org.apache.tools.ant.taskdefs.War
 +User task: csc     org.apache.tools.ant.taskdefs.optional.dotnet.CSharp
 +User task: patch     org.apache.tools.ant.taskdefs.Patch
 +User task: test     org.apache.tools.ant.taskdefs.optional.Test
 +User task: unzip     org.apache.tools.ant.taskdefs.Expand
 +User task: signjar     org.apache.tools.ant.taskdefs.SignJar
 +User task: javah     org.apache.tools.ant.taskdefs.optional.Javah
 +User task: taskdef     org.apache.tools.ant.taskdefs.Taskdef
 +User task: javac     org.apache.tools.ant.taskdefs.Javac
 +User task: ccuncheckout     
 +org.apache.tools.ant.taskdefs.optional.clearcase.CCUnCheckout
 +User task: fail     org.apache.tools.ant.taskdefs.Exit
 +User task: deltree     org.apache.tools.ant.taskdefs.Deltree
 +User task: get     org.apache.tools.ant.taskdefs.Get
 +User task: javadoc2     org.apache.tools.ant.taskdefs.Javadoc
 +User task: java     org.apache.tools.ant.taskdefs.Java
 +User task: copyfile     org.apache.tools.ant.taskdefs.Copyfile
 +User task: replace     org.apache.tools.ant.taskdefs.Replace
 +User task: ant     org.apache.tools.ant.taskdefs.Ant
 +User task: property     org.apache.tools.ant.taskdefs.Property
 +User task: depend     org.apache.tools.ant.taskdefs.optional.depend.Depend
 +User task: tar     org.apache.tools.ant.taskdefs.Tar
 +User task: renameext     org.apache.tools.ant.taskdefs.optional.RenameExtensions
 +User task: native2ascii     org.apache.tools.ant.taskdefs.optional.Native2Ascii
 +User task: vssget     org.apache.tools.ant.taskdefs.optional.vss.MSVSSGET
 +User task: antlr     org.apache.tools.ant.taskdefs.optional.ANTLR
 +User task: cccheckout     org.apache.tools.ant.taskdefs.optional.clearcase.CCCheckout
 +User task: gunzip     org.apache.tools.ant.taskdefs.GUnzip
 +User task: touch     org.apache.tools.ant.taskdefs.Touch
 +User task: rmic     org.apache.tools.ant.taskdefs.Rmic
 +User task: jlink     org.apache.tools.ant.taskdefs.optional.jlink.JlinkTask
 +User task: delete     org.apache.tools.ant.taskdefs.Delete
 +User task: tstamp     org.apache.tools.ant.taskdefs.Tstamp
 +User task: transform     org.apache.tools.ant.taskdefs.Transform
 +User task: ejbc     org.apache.tools.ant.taskdefs.optional.ejb.Ejbc
 +User task: mkdir     org.apache.tools.ant.taskdefs.Mkdir
 +User task: jjtree     org.apache.tools.ant.taskdefs.optional.javacc.JJTree
 +User task: javadoc     org.apache.tools.ant.taskdefs.Javadoc
 +User task: antcall     org.apache.tools.ant.taskdefs.CallTarget
 +User task: unwar     org.apache.tools.ant.taskdefs.Expand
 +User task: filter     org.apache.tools.ant.taskdefs.Filter
 +User task: wlstop     org.apache.tools.ant.taskdefs.optional.ejb.WLStop
 +User task: cvs     org.apache.tools.ant.taskdefs.Cvs
 +User task: mparse     org.apache.tools.ant.taskdefs.optional.metamata.MParse
 +User task: echo     org.apache.tools.ant.taskdefs.Echo
 +User task: sql     org.apache.tools.ant.taskdefs.SQLExec
 +User task: execon     org.apache.tools.ant.taskdefs.ExecuteOn
 +User task: jar     org.apache.tools.ant.taskdefs.Jar
 +User task: junit     org.apache.tools.ant.taskdefs.optional.junit.JUnitTask
 +User task: style     org.apache.tools.ant.taskdefs.XSLTProcess
 +User task: move     org.apache.tools.ant.taskdefs.Move
 +User task: rename     org.apache.tools.ant.taskdefs.Rename
 +User task: zip     org.apache.tools.ant.taskdefs.Zip
 +User task: exec     org.apache.tools.ant.taskdefs.ExecTask
 +User task: uptodate     org.apache.tools.ant.taskdefs.UpToDate
 +User task: untar     org.apache.tools.ant.taskdefs.Untar
 +User task: genkey     org.apache.tools.ant.taskdefs.GenerateKey
 +User datatype: mapper     org.apache.tools.ant.types.Mapper
 +User datatype: patternset     org.apache.tools.ant.types.PatternSet
 +User datatype: fileset     org.apache.tools.ant.types.FileSet
 +User datatype: path     org.apache.tools.ant.types.Path
Setting project property: ant.home -> .\3rd\ant
Setting project property: java.specification.name -> Java Platform API Specification
Setting project property: awt.toolkit -> sun.awt.windows.WToolkit
Setting project property: java.version -> 1.2.2
Setting project property: java.awt.graphicsenv -> sun.awt.Win32GraphicsEnvironment
Setting project property: user.timezone -> 
Setting project property: java.specification.version -> 1.2
Setting project property: java.vm.vendor -> Sun Microsystems Inc.
Setting project property: java.vm.specification.version -> 1.0
Setting project property: user.home -> C:\WINNT\Profiles\nikhild
Setting project property: os.arch -> x86
Setting project property: java.awt.fonts -> 
Setting project property: java.vendor.url -> http://java.sun.com/
Setting project property: file.encoding.pkg -> sun.io
Setting project property: user.region -> US
Setting project property: java.home -> e:\jdk1.2.2\jre
Setting project property: java.class.path -> 
e:\jdk1.2.2\lib\tools.jar;.\3rd\ant\lib\core\parser.jar;.\3rd\ant\lib\core\junit.jar;.\3rd\ant\lib\core\jaxp.jar;.\3rd\ant\lib\antlr.jar;.\3rd\ant\lib\sablecc.jar;.\3rd\ant\lib\sablecc-anttask.jar;.\3rd\ant\lib\optional.jar;.\3rd\ant\lib\ant.jar;
Setting project property: line.separator -> 

Setting project property: java.ext.dirs -> e:\jdk1.2.2\jre\lib\ext
Setting project property: java.io.tmpdir -> C:\TEMP\
Setting project property: os.name -> Windows NT
Setting project property: java.vendor -> Sun Microsystems Inc.
Setting project property: java.awt.printerjob -> sun.awt.windows.WPrinterJob
Setting project property: java.library.path -> 
e:\jdk1.2.2\bin;.;C:\WINNT\System32;C:\WINNT;C:\oracle\product\8.1.7\bin;C:\Program 
Files\Oracle\jre\1.1.7\bin;e:\Program 
Files\ibm\gsk4\lib;C:\Perl\bin\;C:\WINNT\system32;C:\WINNT;C:\WinApps\Aladdin\gs6.01\bin;c:\cygwin\bin;c:\perl\5.6.0\bin;c:\perl\5.6.0\bin\MSWin32-x86;d:\users\nikhild\bin;c:\WinApps\wscite;e:\cvs\bin
Setting project property: java.vm.specification.vendor -> Sun Microsystems Inc.
Setting project property: sun.io.unicode.encoding -> UnicodeLittle
Setting project property: file.encoding -> Cp1252
Setting project property: java.specification.vendor -> Sun Microsystems Inc.
Setting project property: user.name -> nikhild
Setting project property: user.language -> en
Setting project property: java.vendor.url.bug -> 
http://java.sun.com/cgi-bin/bugreport.cgi
Setting project property: java.vm.name -> Classic VM
Setting project property: java.vm.specification.name -> Java Virtual Machine 
Specification
Setting project property: java.class.version -> 46.0
Setting project property: sun.boot.library.path -> e:\jdk1.2.2\jre\bin
Setting project property: os.version -> 4.0
Setting project property: java.vm.info -> build JDK-1.2.2_007, native threads, symcjit
Setting project property: java.vm.version -> 1.2.2
Setting project property: java.compiler -> symcjit
Setting project property: path.separator -> ;
Setting project property: user.dir -> D:\work\xmlias
Setting project property: file.separator -> \
Setting project property: sun.boot.class.path -> 
e:\jdk1.2.2\jre\lib\rt.jar;e:\jdk1.2.2\jre\lib\i18n.jar;e:\jdk1.2.2\jre\classes
Setting ro project property: ant.file -> D:\work\xmlias\build.xml
Setting ro project property: ant.project.name -> Xmlias
Setting project property: basedir -> D:\work\xmlias
Project base dir set to: D:\work\xmlias
   +Task: property
Setting project property: version -> 0.1
   +Task: property
Setting project property: src.dir -> src
   +Task: property
Setting project property: docs.dir -> docs
   +Task: property
Setting project property: javadoc.dir -> docs/javadoc
   +Task: property
Setting project property: build.dir -> build
   +Task: property
Setting project property: lib.dir -> lib
   +Task: property
Setting project property: data.dir -> data
   +Task: property
Setting project property: parser.pkg.dir -> mypackage/tools/xmlias/parsers
   +Task: property
Setting project property: install_dir -> /usr/local/xmlias
   +Task: property
Setting project property: packages -> mypackage.tools.xmlias,                          
             mypackage.tools.xmlias.servlets,                                       
mypackage.tools.xmlias.parsers,                                       
mypackage.tools.xmlias.parsers.antlr,                                       
mypackage.tools.xmlias.parsers.sablecc
   +DataType: path
   +DataType: path
 +Target: prepare
   +Task: mkdir
   +Task: mkdir
   +Task: mkdir
   +Task: mkdir
 +Target: genparser.antlr
   +Task: antlr
 +Target: genparser.sablecc
   +Task: taskdef
 +Target: genparser
 +Target: compile
   +Task: copy
   +Task: javac
 +Target: jar
   +Task: jar
 +Target: clean
   +Task: delete
   +Task: delete
 +Target: javadoc
   +Task: mkdir
   +Task: javadoc
 +Target: cleanjavadoc
   +Task: delete
 +Target: install
   +Task: mkdir
   +Task: mkdir
   +Task: mkdir
   +Task: mkdir
   +Task: mkdir
   +Task: copy
   +Task: copy
   +Task: copy
   +Task: copy
Build sequence for target `jar' is [prepare, genparser.antlr, genparser.sablecc, 
genparser, compile, jar]
Complete build sequence is [prepare, genparser.antlr, genparser.sablecc, genparser, 
compile, jar, cleanjavadoc, javadoc, install, clean]

prepare:

genparser.antlr:
    [antlr] Setting target to: D:\work\xmlias\src\parsergrammars\antlr_aliases.g
    [antlr] Setting output directory to: 
D:\work\xmlias\build\mypackage\tools\xmlias\parsers\antlr
    [antlr] Forking java antlr.Tool -o 
D:\work\xmlias\build\mypackage\tools\xmlias\parsers\antlr 
D:\work\xmlias\src\parsergrammars\antlr_aliases.g
    [antlr] java.lang.NoClassDefFoundError: antlr/Tool

Total time: 1 second

Reply via email to