Como utilizar classe Oracle do Projeto invéz da versão do Tomcat?
3 respostas
rafaelsgarbulho
Caros minha situação é a seguinte, no Tomcat do server tem instalado uma versao do Oracle que utiliza o arquivo classes12.jar mas o correto para que eu consiga ler os campos Clob seria o ojdbc.jar.
Adicionei o jar na web-inf\lib mas o erro persiste, como eu consigo estipular que seja lida essa lib invéz da existente no server?
Isso acontece por causa do classloader, é ele quem cuida de carregar as classes para a aplicação e para isso ele segue uma ordem para carrega essas classes.
se tiver um jar no path da aplicação e outro na VM a prioridade é o jar que esteja na VM.
se tiver um na aplicação e outro no Tomcat, a prioridade é o que está no Tomcat.
No seu casos ele sempre vai pegar a classe que está no Tomcat, então a solução é vc remover o jar do Tomcat ou colocar o esse jar direto no Tomcat.
PS.: Não importa se os nomes dos jars são diferentes o classloader eh esperto pra verificar o conteúdo do jar. :twisted:
Espero ter ajudado!
Até mais!
Perfeita a informação, havia lido isso ontém a noite após o post.
Me foi sugerido também TENTAR jogar o jar no lib do projeto depois criar uma outra classe que implementa a classe “oracle.jdbc.driver.OracleDriver”
tipo: class OracleDriverNovo extends oracle.jdbc.driver.OracleDriver {}
Ai no xml seria alterado:
driverClassName=“oracle.jdbc.driver.OracleDriver”
para
driverClassName=“pacote.qualquer.OracleDriverNovo”
Será que rola? ou contradiz a informação acima?
rafaelsgarbulho
Problema RESOLVIDO, sem lentidão e mostrando todos os campos
UTILIZEM:
Faz leitura do clob depois substring q Automatizando a conversao
3rd_child
Boa tarde rafaelsgarbulho,
Isso acontece por causa do classloader, é ele quem cuida de carregar as classes para a aplicação e para isso ele segue uma ordem para carrega essas classes.
se tiver um jar no path da aplicação e outro na VM a prioridade é o jar que esteja na VM.
se tiver um na aplicação e outro no Tomcat, a prioridade é o que está no Tomcat.
No seu casos ele sempre vai pegar a classe que está no Tomcat, então a solução é vc remover o jar do Tomcat ou colocar o esse jar direto no Tomcat.
PS.: Não importa se os nomes dos jars são diferentes o classloader eh esperto pra verificar o conteúdo do jar. :twisted: