我正试图从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
BUILD FAILED /root/tools/apache-ivy-2.2.0/src/example/build-a-ivy-repository/build.xml:199:安装模块时出现问题 - 有关详细信息,请参阅输出
我该如何解决这个问题?
提前致谢 .
2 回答
公共Maven存储库中不提供Oracle JDBC驱动程序 . 您必须从Oracle下载它们并以其他方式将它们包含在您的项目中 - 可能使用与用户或公司存储库等效的常 Spring 藤 . 这SO question可能会有所帮助 .
我建议运行一个Maven存储库管理器,而不是尝试创建自己的常 Spring 藤存储库 .
Ivy与Maven存储库完全兼容 . 只需声明ibiblio resolver如下:
此类软件的示例如下:
Nexus
Artifactory
Apache Achiva
Maven存储库管理器可以充当第三方软件存储库(如Maven Central)的智能缓存 . 他们还将提供用于上传具有限制性许可证的jar的工具,例如Oracle JDBC驱动程序 .