[RESOLVIDO] Maven mvn tomcat:run não encontra driver JDBC

1 resposta
mhnagaoka

Pessoal,

estou tentando rodar um projeto web que tenho utilizando mvn tomcat:run, porém, durante o startup, ocorre a seguinte exceção:

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.hsqldb.jdbcDriver'
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
...
Caused by: java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver
	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
...

O erro provavelmente ocorre pq o Tomcat não está encontrando o driver JDBC do HSQLDB que estou usando.
Eu tenho uma dependência com o jar do HSQLDB no pom.xml, mas isso só faz com que o jar seja incluido no WEB-INF/lib do war gerado. Isso não resolve o problema porque o jar do HSQLDB precisa estar disponível para o classloader do Tomcat e não para o da minha aplicação.

<dependency>
			<groupId>hsqldb</groupId>
			<artifactId>hsqldb</artifactId>
			<version>1.8.0.7</version>
			<scope>test</scope>
		</dependency>

Quando o Tomcat roda “standalone”, normalmente o que eu faço é copiar o arquivo jar para $TOMCAT_HOME/lib, mas como estou utilizando o Tomcat a partir do Maven, eu não sei pra onde devo copiar este arquivo.

Se alguém pude dar uma força, agradeço.

Valeu,
Mauricio

1 Resposta

mhnagaoka

Resolvido! :slight_smile:

A manha é configurar a dependência do HSQLDB no plugin do Tomcat.

<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>tomcat-maven-plugin</artifactId>
				<dependencies>
					<dependency>
						<groupId>hsqldb</groupId>
						<artifactId>hsqldb</artifactId>
						<version>1.8.0.7</version>
					</dependency>
				</dependencies>
			</plugin>

— Editado —
Só dando os devidos créditos ao pessoal da lista user AT mojo DOT codehaus DOT org.

Criado 6 de agosto de 2009
Ultima resposta 6 de ago. de 2009
Respostas 1
Participantes 1