我们正在将我们现有的企业应用程序之一转换为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数据库。
答案 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>