Maven构建失败,使用ojdbc6.jar,但与ojdbc7.jar

时间:2017-03-29 19:11:37

标签: java maven jdbc maven-3 ojdbc

我们正在将我们现有的企业应用程序之一转换为maven项目。为了使更改保持最小,我们决定重用现有应用程序中的所有现有jar,方法是在本地repo中手动安装它们,而不是从全局存储库下载它们。多年来,当从RAD / ECLIPSE出口耳朵时,该应用程序运行良好。该应用程序目前使用ojdbc6.jar。但是,当我们运行maven build时转换为maven项目后,我们会为其中一个类获得以下编译错误:

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-
    plugin:2.3.2:compile (default-compile) on project OLS: Compilation 
    failure: Compilation failure:
    [ERROR] \workspace_maven\Project\src\com\datalayer\MyConnection.java:
    [601,0] error: myOracleCachedRowSet is not abstract and does not 
    override abstract method <T>getObject(String,Class<T>) in ResultSet

MyConnection.java文件有一个内部类myOracleCachedRowSet类,它扩展了OracleCachedRowset类并实现了RowSet接口。  我们使用的是ibm特定的JDK 7和maven版本3.3.9。但是,当我切换到ojdbc7.jar时,此编译错误不会出现在maven构建中。但正如我之前所说,这个版本在没有Maven的情况下使用ojdbc6 jar从eclipse / RAD工作正常。所以我想知道这个maven构建如何连接到ojdbc jar版本。两者之间的联系在哪里。有人可以帮忙吗? 还要注意,因为我们使用的是oracle 11g,所以我认为我们不能切换到ojdbc7 jar,因为它用于oracle 12c数据库。

1 个答案:

答案 0 :(得分:0)

您可以将ojdbc6.jar文件添加到本地.m2文件夹中,并将依赖项用于POM.xml。你可以用这个:

mvn install:install-file -Dfile=/home/user/Libraries/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11g -Dpackaging=jar

您可以将以下依赖项用于POM.xml。

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11g</version>
    </dependency>