ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aloizio Pereira da Silva <aloi...@dcc.ufmg.br>
Subject Re: New Task and Classpath
Date Fri, 29 Aug 2003 17:08:08 GMT
It's good. Now, my new ant class is working.

Thanks.
            *****************************************************
            *         Federal University of Minas Gerais        *
            *          Department of Computer Science          *
            *         Master Degree in Computer Science         *
            *                                                   *
            *                 Aloizio Silva                     *
            *         http://www.dcc.ufmg.br/~aloizio          *
            *                                                   *
            *      Mobile Computer and Network Optimization     *
            *****************************************************                        
 

On Fri, 29 Aug 2003, Antoine Levy-Lambert wrote:

> You get your parameters in the main method of IniciarGeracao, in the array
> of strings.
> Antoine
> ----- Original Message -----
> From: "Aloizio Pereira da Silva" <aloizio@dcc.ufmg.br>
> To: "Ant Users List" <user@ant.apache.org>
> Sent: Friday, August 29, 2003 3:43 PM
> Subject: Re: New Task and Classpath
> 
> 
> I created a new class IniciarGeracao() that get the parameters from
> TaskGeraRelatorio().  In the execute() method of TaskGeraRelatorio() I put
>    setClassname("org.apache.tools.ant.taskdefs.IniciarGeracao")
> This class is executed, but it could not get the parameters from the
> TaskGeraRelatorio() class.  I created some public methods into
> TaskGeraRelatorio() that return each attribute of the class. But they
> does not retun anything. What can be happing? I show the
> IniciarGeracao() code below:
> 
> public class IniciarGeracao {
> 
>   public IniciarGeracao ()
>   {
> 
>   }
> 
>   public static void iniciaGeracao()
>   {
>    try
>    {
>     TaskGeraRelatorio tarefa = new TaskGeraRelatorio();
>     GerarRelatorio gerador = new GerarRelatorio();
>     gerador.atribuirDiretorioSaida(tarefa.getDiretorioSaida());
>     System.out.println(tarefa.getDiretorioSaida());
>     gerador.atribuirArqPrestacao(tarefa.getArqPrestacao());
>     gerador.atribuirArqNomeRelatorio(tarefa.getArqNomeRelatorio());
>     //obter parmetros do banco
>     StringTokenizer stBanco = new
> StringTokenizer(tarefa.getBanco(),",",false);
>     if(stBanco.countTokens() == 2)
>     {
>        gerador.atribuirBanco("",stBanco.nextToken().toLowerCase().trim(),
>         stBanco.nextToken().toLowerCase().trim());
>     }
>     else if(stBanco.countTokens() == 3)
>     {
>       gerador.atribuirBanco(stBanco.nextToken().toLowerCase().trim(),
>          stBanco.nextToken().toLowerCase().trim(),
>         stBanco.nextToken().toLowerCase().trim());
>     }
> 
> gerador.atribuirCaminhoBancosInterBase(tarefa.getCaminhoBancosInterBase());
>     gerador.atribuirVersaoJar(tarefa.getVersaoJar());
>     gerador.atribuirUsarID(tarefa.getUsarID());
>     gerador.gerarRelatorio();
>    }catch (Exception ex)
>     {
>       ex.printStackTrace();
>     }
>   }
> 
>   public static void main(String[] args)
>   {
>      iniciaGeracao();
>   }
> 
> }
> 
>             *****************************************************
>             *         Federal University of Minas Gerais        *
>             *          Department of Computer Science          *
>             *         Master Degree in Computer Science         *
>             *                                                   *
>             *                 Aloizio Silva                     *
>             *         http://www.dcc.ufmg.br/~aloizio          *
>             *                                                   *
>             *      Mobile Computer and Network Optimization     *
>             *****************************************************
> 
> On Thu, 28 Aug 2003, [iso-8859-1] Antoine LÚvy-Lambert wrote:
> 
> > you should move the code of iniciarGeracao to another class, and call the
> > equivalent of iniciarGeracao in the other class
> > public static void main(String [] argv).
> > in TaskGeraRelatorio, you should say
> > setClassNames("the name of your new class")
> > this is the way the java class works, it is made to invoke main methods.
> > Cheers,
> > Antoine
> > ----- Original Message -----
> > From: "Aloizio Pereira da Silva" <aloizio@dcc.ufmg.br>
> > To: "Ant Users List" <user@ant.apache.org>
> > Sent: Thursday, August 28, 2003 11:11 PM
> > Subject: Re: New Task and Classpath
> >
> >
> > > Of course, I made what  Antoine suggested. I need to instantiate another
> > > class from new task code. But when I call iniciarGeracao() I get
> > > error. Because the jars files are not found. I display this below:
> > >
> > >
> > >
> > >   public void execute() throws BuildException
> > >   {
> > >    setTaskName(getTaskName());
> > >    System.out.println(getTaskName());
> > >    setClasspath(createClasspath());
> > >    setClassname("org.apache.tools.ant.taskdefs.TaskGeraRelatorio");
> > >    createArg().setValue(diretorioSaida);
> > >    createArg().setValue(arqprestacao);
> > >    createArg().setValue(arqNomeRelatorio);
> > >    createArg().setValue(banco);
> > >    createArg().setValue(caminhoBancosInterBase);
> > >    createArg().setValue(versaoJar);
> > >    createArg().setValue(usarID);
> > >    setFork(true);
> > >    super.execute();
> > >    try
> > >    {
> > >       iniciarGeracao();
> > >    }
> > >    catch (Exception ex)
> > >     {
> > >       ex.printStackTrace();
> > >     }
> > >   }
> > >
> > >   public void iniciarGeracao()
> > >   {
> > >    try
> > >    {
> > >     GerarRelatorio gerador = new GerarRelatorio();
> > >     gerador.atribuirDiretorioSaida(diretorioSaida);
> > >     gerador.atribuirArqPrestacao(arqprestacao);
> > >     gerador.atribuirArqNomeRelatorio(arqNomeRelatorio);
> > >     //obter parmetros do banco
> > >     StringTokenizer stBanco = new StringTokenizer(banco,",",false);
> > >     if(stBanco.countTokens() == 2)
> > >     {
> > >
> gerador.atribuirBanco("",stBanco.nextToken().toLowerCase().trim(),
> > >         stBanco.nextToken().toLowerCase().trim());
> > >     }
> > >     else if(stBanco.countTokens() == 3)
> > >     {
> > >       gerador.atribuirBanco(stBanco.nextToken().toLowerCase().trim(),
> > >          stBanco.nextToken().toLowerCase().trim(),
> > >         stBanco.nextToken().toLowerCase().trim());
> > >     }
> > >     gerador.atribuirCaminhoBancosInterBase(caminhoBancosInterBase);
> > >     gerador.atribuirVersaoJar(versaoJar);
> > >     gerador.atribuirUsarID(usarID);
> > >     gerador.gerarRelatorio();
> > >    }catch (Exception ex)
> > >     {
> > >       ex.printStackTrace();
> > >     }
> > >   }
> > >
> > >             *****************************************************
> > >             *         Federal University of Minas Gerais        *
> > >             *          Department of Computer Science          *
> > >             *         Master Degree in Computer Science         *
> > >             *                                                   *
> > >             *                 Aloizio Silva                     *
> > >             *         http://www.dcc.ufmg.br/~aloizio          *
> > >             *                                                   *
> > >             *      Mobile Computer and Network Optimization     *
> > >             *****************************************************
> > >
> > > On Thu, 28 Aug 2003, Matt Benson wrote:
> > >
> > > > You have not set the classpath.  Your code is
> > > > instantiating a new <java> task, then setting its
> > > > classpath to the value returned by createClasspath(),
> > > > which is a new (and empty) Path.  Your code should not
> > > > be nearly as big as it is to be extending the Java
> > > > task.  Carefully read what Antoine has suggested,
> > > > which is what I had suggested.  Your code should
> > > > really consist of not much more than a constructor and
> > > > settors for any attributes you may need specific to
> > > > the Java class you want to call.  Unless there is
> > > > something really special happening it sounds like you
> > > > could do what you want without coding Java at all,
> > > > just do it all in the xml file with a properly
> > > > configured <java> task.
> > > >
> > > > -Matt
> > > >
> > > > --- Aloizio Pereira da Silva <aloizio@dcc.ufmg.br>
> > > > wrote:
> > > > > I used org.apache.tools.ant.taskdefs because I
> > > > > intend to put this task
> > > > > like standard ant task. But this is not a problem.
> > > > >
> > > > > The problem is I call a java class into the new ant
> > > > > task. If you look the
> > > > > execute() method it call iniciarGeracao() that
> > > > > instantiate
> > > > > GeradorRelatorio() class. In this case, during the
> > > > > execution the jars
> > > > > files is not found. In spite of I have set the
> > > > > classpath.
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > *****************************************************
> > > > >             *         Federal University of Minas
> > > > > Gerais        *
> > > > >             *          Department of Computer
> > > > > Science          *
> > > > >             *         Master Degree in Computer
> > > > > Science         *
> > > > >             *
> > > > >            *
> > > > >             *                 Aloizio Silva
> > > > >            *
> > > > >             *
> > > > > http://www.dcc.ufmg.br/~aloizio          *
> > > > >             *
> > > > >            *
> > > > >             *      Mobile Computer and Network
> > > > > Optimization     *
> > > > >
> > > > >
> > > > *****************************************************
> > > > >
> > > > >
> > > > > On Thu, 28 Aug 2003, Antoine Levy-Lambert wrote:
> > > > >
> > > > > > 1)the package name of your class does not need to
> > > > > be and should not be
> > > > > > org.apache.tools.ant.taskdefs,
> > > > > > rather should belong to your company's package
> > > > > structure
> > > > > >
> > > > > > 2) I notice that your class extends the Java task
> > > > > of ant, this is fine.
> > > > > > In this case you do not need to override methods
> > > > > which stay the same such as
> > > > > > CreateClasspath.
> > > > > > You can rewrite your execute method more simply :
> > > > > >
> > > > > > setTaskName("TaskGeraRelatorio");
> > > > > >  createArg().setValue(diretorioSaida);
> > > > > > createArg().setValue(arqprestacao);
> > > > > > createArg().setValue(arqNomeRelatorio);
> > > > > > createArg().setValue(banco);
> > > > > > createArg().setValue(caminhoBancosInterBase);
> > > > > > createArg().setValue(versaoJar);
> > > > > > createArg().setValue(usarID);
> > > > > > setFork(true);
> > > > > > super.execute();
> > > > > >
> > > > > >
> > > > > > Antoine
> > > > > > ----- Original Message -----
> > > > > > From: "Aloizio Pereira da Silva"
> > > > > <aloizio@dcc.ufmg.br>
> > > > > > To: "Ant Users List" <user@ant.apache.org>
> > > > > > Sent: Thursday, August 28, 2003 8:33 PM
> > > > > > Subject: Re: New Task and Classpath
> > > > > >
> > > > > >
> > > > > > >
> > > > > > > This did not work. I am sending attached files
> > > > > If anyone could help me.
> > > > > > > build.xml e new ant task java class.
> > > > > > >
> > > > > > > thanks.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > >
> > > > *****************************************************
> > > > > > >             *         Federal University of
> > > > > Minas Gerais        *
> > > > > > >             *          Department of Computer
> > > > > Science          *
> > > > > > >             *         Master Degree in Computer
> > > > > Science         *
> > > > > > >             *
> > > > >                *
> > > > > > >             *                 Aloizio Silva
> > > > >                *
> > > > > > >             *
> > > > > http://www.dcc.ufmg.br/~aloizio          *
> > > > > > >             *
> > > > >                *
> > > > > > >             *      Mobile Computer and Network
> > > > > Optimization     *
> > > > > > >
> > > > >
> > > > *****************************************************
> > > > > > >
> > > > > > > On Thu, 28 Aug 2003, Antoine Levy-Lambert wrote:
> > > > > > >
> > > > > > > > You should set in the classpath that you
> > > > > define in build.xml your new
> > > > > > task
> > > > > > > > and all its dependencies.
> > > > > > > > Also none of these should be in the CLASSPATH
> > > > > environment variable
> > > > > > before
> > > > > > > > you start ant.
> > > > > > > > If this does not help, can you post your
> > > > > build.xml
> > > > > > > > Antoine
> > > > > > > > ----- Original Message -----
> > > > > > > > From: "Aloizio Pereira da Silva"
> > > > > <aloizio@dcc.ufmg.br>
> > > > > > > > To: "Ant Users List" <user@ant.apache.org>
> > > > > > > > Sent: Thursday, August 28, 2003 6:59 PM
> > > > > > > > Subject: Re: New Task and Classpath
> > > > > > > >
> > > > > > > >
> > > > > > > > >
> > > > > > > > > I made what you suggested. But, my ant task
> > > > > java class has a call for
> > > > > > > > > another java class that use some libraries.
> > > > > And I set this libraries
> > > > > > > > > in Build.xml. Then I get the following
> > > > > error:
> > > > > > > > >
> > > > > > > > > Why the setting classpath does not remain to
> > > > > the another java class?
> > > > > > > > > BUILD FAILED
> > > > > > > > > java.lang.NoClassDefFoundError:
> > > > > > > >
> > > > > synergia/persistencia/principal/ExcecaoPersisten
> > > > > > > > > cia  at
> > > > > > > > >
> > > > >
> > > > org.apache.tools.ant.taskdefs.TaskGeraRelatorio.iniciarGeracao(Unknow
> > > > > > > > > n Source) at
> > > > > > > > >
> > > > >
> > > > org.apache.tools.ant.taskdefs.TaskGeraRelatorio.execute(Unknown
> > > > > > > > > Source)
> > > > > > > > >
> > > > > > > > >
> > > > >
> > > > *****************************************************
> > > > > > > > >             *         Federal University of
> > > > > Minas Gerais        *
> > > > > > > > >             *          Department of
> > > > > Computer Science          *
> > > > > > > > >             *         Master Degree in
> > > > > Computer Science         *
> > > > > > > > >             *
> > > > >                    *
> > > > > > > > >             *                 Aloizio Silva
> > > > >                    *
> > > > > > > > >             *
> > > > > http://www.dcc.ufmg.br/~aloizio          *
> > > > > > > > >             *
> > > > >                    *
> > > > > > > > >             *      Mobile Computer and
> > > > > Network Optimization     *
> > > > > > > > >
> > > > >
> > > > *****************************************************
> > > > > > > > >
> > > > > > > > > On 28 Aug 2003, Stefan Bodewig wrote:
> > > > > > > > >
> > > > > > > > > > On Wed, 27 Aug 2003, Aloizio Pereira da
> > > > > Silva <aloizio@dcc.ufmg.br>
> > > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > messages: [gerar_relatorio]
> > > > > java.lang.NoClassDefFoundError:
> > > > > > > > > > > org/apache/tools/ant/Task
> > > > > > > > > >
> > > > > > > > > > You need to add ant.jar to the <classpath>
> > > > > explicitly (or do that
> > > > > > > > > > inside of execute() as the <java>
task
> > > > > that you use internally tries
> > > > > > > > > > to keep the environment clean of Ant's own
> > > > > classes.
> > > > > > > > > >
> > > > > > > > > > Stefan
> > > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > > >
> > > > ---------------------------------------------------------------------
> > > > > > > > > > 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
> > > > >
> > > > === message truncated ===
> > > >
> > > >
> > > > __________________________________
> > > > Do you Yahoo!?
> > > > Yahoo! SiteBuilder - Free, easy-to-use web site design software
> > > > http://sitebuilder.yahoo.com
> > > >
> > > > ---------------------------------------------------------------------
> > > > 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
> 
> 
> 
> 
> ---------------------------------------------------------------------
> 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