有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Maven构建在ojdbc6中失败。但jar可以与ojdbc7一起使用。罐子

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

    [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

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


共 (1) 个答案

  1. # 1 楼答案

    可以添加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>