解决IVY ANT的Oracle JDBC依赖关系

时间:2011-10-19 20:01:03

标签: java maven-2 ant ivy

我正在尝试从Maven存储库转移到IVY存储库。

我设置存储库的方式如下:

<filesystem name="local" checkmodified="true">
     <ivy pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern}"  />
     <artifact pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern}"/>
</filesystem>

我在本地存储库中获取oracle jar时遇到了麻烦:

我的maven脚本如下:

<dependency>
      <groupId>oracle.jdbc</groupId>
      <artifactId>ojdbc11g</artifactId>
      <version>${oracle-jdbc-version}</version>
</dependency>

我将尝试在ivy.xml中显示为:

<ivy:install settingsRef="basic.settings" organisation="oracle.jdbc" module="ojdbc11g" revision="[1.0,)" overwrite="TRUE" from="${from.resolver}" to="${to.resolver}"   />

不幸的是, 我收到了这个错误:

[ivy:install]
[ivy:install] :: problems summary ::
[ivy:install] :::: WARNINGS
[ivy:install]           module not found: oracle.jdbc#ojdbc11g;[1.0,)
[ivy:install]   ==== libraries: tried
[ivy:install]     http://repo1.maven.org/maven2/oracle/jdbc/ojdbc11g/[revision]/ojdbc11g-[revision].pom
[ivy:install]     -- artifact o`enter code here`racle.jdbc#ojdbc11g;[1.0,)!ojdbc11g.jar:
[ivy:install]     http://repo1.maven.org/maven2/oracle/jdbc/ojdbc11g/[revision]/ojdbc11g-[revision].jar
[ivy:install]           ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:install]           ::          UNRESOLVED DEPENDENCIES         ::
[ivy:install]           ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:install]           :: oracle.jdbc#ojdbc11g;[1.0,): not found
[ivy:install]           ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:install]
[ivy:install] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS

建立失败 /root/tools/apache-ivy-2.2.0/src/example/build-a-ivy-repository/build.xml:199:安装模块时出现问题 - 有关详细信息,请参阅输出

我该如何解决这个问题?

提前致谢。

2 个答案:

答案 0 :(得分:2)

公共Maven存储库中没有Oracle JDBC驱动程序。您必须从Oracle下载它们并以其他方式将它们包含在您的项目中 - 也许使用与用户或公司存储库等效的常春藤。这SO question可能会有所帮助。

答案 1 :(得分:2)

我建议运行Maven存储库管理器,而不是尝试创建自己的常春藤存储库。

Ivy与Maven存储库完全兼容。只需声明ibiblio resolver如下:

<ivysettings>
    <settings defaultResolver="myrepo"/>
    <resolvers>
        <ibiblio name="myrepo" m2compatible="true" root="http://myhost/....."/>
    </resolvers>
</ivysettings>

此类软件的示例如下:

  • 的Nexus
  • Artifactory的
  • Apache Achiva

Maven存储库管理器可以充当第三方软件库(如Maven Central)的智能缓存。他们还将提供用于上传具有限制性许可证的jar的工具,例如Oracle JDBC驱动程序。