Jen*_*der 7 tomcat maven-2 datasource embeddedwebserver
我有一个多模块maven web应用程序,它使用hibernate.
我使用tomcat:run目标,以便在maven的嵌入式tomcat服务器上运行它.到目前为止一切正常.
但是现在我需要从hibernate.properties中的explicite jdbc配置切换到数据源.我做了以下事情:
从
hibernate.connection.driver_class=oracle.jdbc.OracleDriver
hibernate.connection.url=jdbc:somejdbcurl
hibernate.connection.username=aUser
hibernate.connection.password=aPassword
Run Code Online (Sandbox Code Playgroud)
至
hibernate.connection.datasource=java:comp/env/jdbc/datasourcename
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)<resource-ref> <res-ref-name>jdbc/datasourcename</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
Run Code Online (Sandbox Code Playgroud)<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驱动程序的jar文件的方法.我期待一个ClassNotFound Exception或类似的东西,但我得到了一个
org.hibernate.exception.GenericJDBCException: Cannot open connection
Run Code Online (Sandbox Code Playgroud)
在堆栈中有根本原因:
Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
Run Code Online (Sandbox Code Playgroud)
Soooooo的问题是:
Pas*_*ent 11
您需要在插件声明中添加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>
Run Code Online (Sandbox Code Playgroud)
顺便说一句,对于默认值contextFile是src/main/webapp/META-INF/context.xml.
| 归档时间: |
|
| 查看次数: |
6179 次 |
| 最近记录: |