У меня есть много веб-приложение знатока модуля, какое использование в спящем режиме.
Я использую tomcat:run цель для выполнения ее на встроенном сервере кота знатока. Все хорошо работает до сих пор.
Но теперь я должен переключить с explicite jdbc конфигурацию в hibernate.properties к источнику данных. Я сделал следующее:
от
hibernate.connection.driver_class=oracle.jdbc.OracleDriver
hibernate.connection.url=jdbc:somejdbcurl
hibernate.connection.username=aUser
hibernate.connection.password=aPassword
кому:
hibernate.connection.datasource=java:comp/env/jdbc/datasourcename
<resource-ref> <res-ref-name>jdbc/datasourcename</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
<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>
Это не работает, который ожидается, так как я не нашел способ обеспечить файл банки, содержа Oracle jdbc драйвер. Я ожидал Исключение ClassNotFound или что-то подобное, но вместо этого я получил a
org.hibernate.exception.GenericJDBCException: Cannot open connection
с первопричиной вниз в стеке:
Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
Soooooo вопросы:
Вам нужно добавить драйвер JDBC внутри объявления плагина:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
...
</configuration>
<dependencies>
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
</dependency>
</dependencies>
</plugin>
Кстати, значение по умолчанию для contextFile
- src/main/webapp/META-INF/context.xml