Olá.
Tenho uma aplicação web rodando no tomcat 5.5.17. Tenho uma classe fora da aplicação que roda todas as noites. Esta classe está configurada no servidor linux para rodar nesse horário. Esta classe chama métodos da aplicação. Os metódos da aplicação, por sua vez executam consultas ao banco de dados. Ao tentar executar essa classe fora do tomcat dá o seguinte erro:
Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
pelo erro que ta dando, vc deve estar usando o java naming pra pegar a conexao com o banco de dados, mas pra isso funcionar ele precisa esta rodando dentro do tomcat, caso contrario nao enxerga o InitContext e coisas do tipo. Nao tem como funcionar chamando de uma aplicacao de fora (nao que eu saiba).
O jeito seria ou vc pegar as informacoes de banco de outra forma (sei lá, dentro do metodo que retorna sua connection vc olha se nao encontrou o contexto e entao busca num properties da vida) ou entao joga essa sua classe (que hoje é externa) como um Servlet dentro da tua aplicacao (aí vc usa alguma forma pra programar ele como um while/sleep ou coisa assim).
Espero ter ajudado.
Ela é uma classe comum, que até possui um método main. É como se eu tivesse tentando executa-la na linha de comando: java Expiracao
Só que ela possui métodos da aplicação web, que ao tentar executar, dá esse erro abaixo.
Obrigada pela ajuda. Fiz uma thread para resolver esse problema. O que me intriga mais é o fato de que funcionava na versão 4.1 do tomcat e nessa nova versão 5.5 não funciona.