2015-07-21 147 views
3

我在春天配置了netezza db。我在classpath中添加的依賴nzjdbc.jar無法加載netezza JDBC驅動程序

Spring配置:

<bean id="QA_CAM_BASE_jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> 

<!-- Initialization for data source --> 

<bean id="QA_CAM_BASE_dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="${com.ec.database.driver}"/> 
    <property name="url" value="${com.ec.database.url}"/> 
    <property name="username" value="${com.ec.database.user}"/> 
    <property name="password" value="${com.ec.database.pass}"/> 

pom xml config 

<dependency> 
    <groupId>org.netezza</groupId> 
    <artifactId>netezza</artifactId> 
    <version>1.0</version> 
    <scope>system</scope> 
    <systemPath>${basedir}/src/main/resources/lib/nzjdbc.jar</systemPath> 
</dependency> 

<resource> 
    <directory>${basedir}/src/main/resources/lib</directory> 
    <targetPath>WEB-INF/lib</targetPath> 
</resource> 
</webResources> 
+0

所致。 beans.PropertyBatchUpdateException;嵌套PropertyAccessExceptions(1)是: PropertyAccessException 1:org.springframework.beans.MethodInvocationException:屬性'driverClassName'引發異常;嵌套異常是java.lang.IllegalStateException:無法加載JDBC驅動程序類[org.netezza.Driver] –

+0

'系統'範圍內的jar沒有打包到你的jar中。看到http://stackoverflow.com/questions/10935135/maven-and-adding-jars-to-system-scope –

+0

明白了你的觀點,但我手動複製它,而使用資源標籤打包戰爭 –

回答

2

nzjdbc.jar在你的本地Maven倉庫

mvn install:install-file -Dfile=netezza.jar -DgroupId=org.netezza -DartifactId=netezza -Dversion=1.0 -Dpackaging=jar 

(在該netezza.jar位於

,然後用它像一個正常的依賴關係的目錄執行此:org.springframework:

<dependency> 
    <groupId>org.netezza</groupId> 
    <artifactId>netezza</artifactId> 
    <version>1.0</version> 
</dependency> 

@see Guide to installing 3rd party JARs

相關問題