Ho un'applicazione web Maven multi modulo, che utilizza la modalità di sospensione.Uso di Maven per la distribuzione su Embedded Tomcat con un'origine dati
Io uso il tomcat: esegui l'obiettivo per eseguirlo sul server tomcat incorporato di Maven. Tutto funziona bene finora.
Ma ora ho bisogno di passare da una configurazione jdbc explicite in hibernate.properties a un'origine dati. Ho fatto la seguente:
- mutate hibernate.properties
da
hibernate.connection.driver_class=oracle.jdbc.OracleDriver
hibernate.connection.url=jdbc:somejdbcurl
hibernate.connection.username=aUser
hibernate.connection.password=aPassword
a
hibernate.connection.datasource=java:comp/env/jdbc/datasourcename
- in web.xml ho aggiunto
<resource-ref> <res-ref-name>jdbc/datasourcename</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
- aggiunto un context.xml accanto al web.xml con il seguente contenuto:
<Context> <Resource name="jdbc/datasourcename" auth="Container" type="javax.sql.DataSource" username="aUser" password="aPassword" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:somejdbcurl" maxActive="2" maxIdle="2"/> </Context>
Questo non funziona, che è atteso, dal momento che non ho trovato un modo per fornire il file jar, contenente il driver jdbc di Oracle. Mi aspettavo un'eccezione ClassNotFound o qualcosa di simile, ma invece ho avuto un
org.hibernate.exception.GenericJDBCException: Cannot open connection
con una causa principale verso il basso nello stack:
Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
Soooooo le domande sono:
- Perché doesn sapete che voglio usare il driver Oracle?
- Come si comunica al tomcat il file jar che contiene il driver?
che sembra promettente, ci proverò domani –
grazie per aver segnalato il contesto di defaultFile posizione .. ho passato un paio d'ore a inseguirlo .. –