Estou desenvolvendo uma aplicação Web com Tomcat, Oracle e Eclipse e estou tendo dificuldades no momento de executar a mesma.
Ao rodar o Servlet (controlador) a aplicação retorna erros indicando que a classe não foi encontrada:
java.lang.RuntimeException: Não foi possível obter a conexão
através do datasource: org.apache.tomcat.dbcp.dbcp.SQLNestedException:
Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver'
O erro acima é apenas um dos erros que a aplicação lança. Não se trata de um erro específico de configuração do banco, pois caso eu copie os arquivos necessários para /%JAVA_HOME%/jdk1.6.0/jre/lib/ext a aplicação funciona corretamente.
Aparentemente é um erro (clássico) de classpath, mas mesmo declarando as classes na variável de ambiente Classpath a aplicação não funciona.
Não gostaria de copiar todas as bibliotecas para /%JAVA_HOME%/jdk1.6.0/jre/lib/ext, pois a aplicação possui APIs Log4J, JasperReports, Oracle thin driver, etc. o que acaba aumentando o tamanho das aplicações JSE que desenvolvo ao criar um jar através do FATJar.
A alternativa de copiar os arquivos para este diretório partiu de uma pesquisa no fórum após várias tentativas de configurações, mas entendo que é uma solução ruim.
Outro detalhe importante é que todas as bibliotecas foram adicionadas ao projeto através de User Libraries. Se tento copiar as mesmas para a pasta lib da aplicação, o Eclipse retorna um erro, indicando que as bibliotecas estão duplicadas.
Muito obrigado.