【发布时间】:2013-04-30 13:32:10
【问题描述】:
我正在开发一个使用 ivy 来管理依赖项的现有应用程序,源代码带有 ivy.xml 和 ivysettings.xml 文件。我正在尝试将我自己的 jar 添加到构建中。最简单的方法是什么?
我尝试向 ivy.xml 添加依赖项,但我不确定如何配置存储库目录。也许有简单的方法可以做到这一点?任何快速而肮脏的方式都可以。
【问题讨论】:
我正在开发一个使用 ivy 来管理依赖项的现有应用程序,源代码带有 ivy.xml 和 ivysettings.xml 文件。我正在尝试将我自己的 jar 添加到构建中。最简单的方法是什么?
我尝试向 ivy.xml 添加依赖项,但我不确定如何配置存储库目录。也许有简单的方法可以做到这一点?任何快速而肮脏的方式都可以。
【问题讨论】:
假设您可以修改刚刚继承的ivysettings.xml,filesystem resolver 和 chain resolver 应该可以帮助您。
【讨论】:
您可以在本地常春藤缓存或共享常春藤缓存下将您的 jar 本地存储在您的机器上。我相信它是$HOME/.ivy2/local 和$HOME/.ivy2/shared,其格式与$HOME/.ivy2/cache 目录相同。如果您使用 <ivy:publish/> Ant 任务将本地 jar 推送到本地存储库,那么您的所有项目都可以访问它们。
但是,我建议硬着头皮做事...技术术语是什么?哦,是的... 正确的方法。
继续设置项目范围的 Ivy/Maven 存储库,您可以在其中获取本地 jar,就像获取第三方 jar 一样。这样,您的本地 jar 和您正在使用的第三方 jar 之间没有区别。没有人需要考虑特定 Jar 的位置或调整他们的 Ivy 配置来获得一个或另一个 jar。
下载Nexus 或Artifactory。您可以设置这些存储库,以便所有第三方 jar 和您的本地 jar 都可用,就好像它们都存储在同一服务器中一样。您甚至可以添加其他不在中心位置的 jar 存储库。
我推荐 Loughran 的书 Ant in Action。它有一个关于使用 Ivy 的优秀章节。您还可以查看我的ivy.dir,了解我是如何配置 Ivy 的,因此我们所有的项目都可以轻松访问它。
【讨论】: