本地存储库的好常春藤教程? [关闭]

Posted

技术标签:

【中文标题】本地存储库的好常春藤教程? [关闭]【英文标题】:good ivy tutorial for local repository? [closed] 【发布时间】:2010-11-15 02:31:34 【问题描述】:

谁能给我一个很好的教程来制作和使用 Ivy 的本地存储库? (请不要将我指向 Ivy 文档,教程相当混乱)

我需要创建一个本地存储库以包含不一定可通过公共 maven 存储库获得的 .jar 文件。

【问题讨论】:

我认为周围没有很多合适的教程。对于不在公共 maven 存储库中的 .jar,您可以使用 任务。在实践中,我发现简单地将 .jar 复制到适当的位置并手动编辑 ivy.xml 文件更容易。 有趣的问题。我们当地的常春藤仓库是多年来有机建立起来的,现在一团糟。 +1 表示“请不要将我指向 Ivy 文档,教程相当混乱”。我发现学习如何在 Ivy 中做基本的事情非常困难。 【参考方案1】:

创建本地 ivy 存储库很简单,不需要 maven。这是一个使用 ivy 作为独立程序发布一些文本文件的示例。

我有 3 个文件要发布:

src/English.txt
src/Spanish.txt
src/Irish.txt

ivy 文件 src/ivy.xml 详细说明了模块的名称和正在发布的工件列表。 (发布索引)

<ivy-module version="2.0">
  <info organisation="myorg" module="hello"/>
  <publications>
    <artifact name="English" ext="txt" type="doc"/>
    <artifact name="Irish" ext="txt" type="doc"/>
    <artifact name="Spanish" ext="txt" type="doc"/>
  </publications>
</ivy-module>

您还需要一个 ivy 设置文件来告诉 ivy 存储库的位置

<ivysettings>
    <property name="repo.dir" value=".../repo"/>
    <settings defaultResolver="internal"/>
    <resolvers>
        <filesystem name="internal">
            <ivy pattern="$repo.dir/[module]/ivy-[revision].xml" />
            <artifact pattern="$repo.dir/[module]/[artifact]-[revision].[ext]" />
        </filesystem>
    </resolvers>
</ivysettings>

最后运行 ivy 发布已发布的 1.0 版本:

java -jar $IVY -settings config/ivysettings.xml \
        -ivy src/ivy.xml \
        -publish internal \
        -publishpattern "src/[artifact].[ext]" \
        -revision 1.0 \
        -status release \
        -overwrite 

注意发布模式。它告诉 ivy 要发布的文件的位置。

添加:从 ANT 内部发布

<target name="publish" depends="clean,package" description="Publish this build into repository">
    <ivy:publish pubrevision="$pub.version" status="$pub.status" resolver="$pub.resolver" >
        <artifacts pattern="$build.dir/dist/[artifact].[ext]"/>
    </ivy:publish>
</target>

【讨论】:

不错的答案!你知道我们在哪里可以在 Ant 任务中获得相同的“发布”信息吗?任务的“官方”文档令人困惑。 是的,我一直使用 ivy 发布任务,发布到我的 Nexus Maven 存储库。常春藤网站上真正缺少的是更多示例文档。一旦你弄清楚了常春藤的工作原理,我发现它可以作为参考:-( 不要说这很容易,因为它不是。如果这很容易,我会自己发现如何去做。 点了。 Maven 也不在其中 :-)【参考方案2】:

不知道你是否使用SVN,如果是这种情况,这可能会有所帮助:

http://code.google.com/p/ivysvn/

【讨论】:

谢谢,我不是在寻找软件工具,只是想学习如何使用我拥有的工具。【参考方案3】:

您可能希望在本地计算机或 Intranet 上创建一个私有 maven 存储库。然后使用 maven 将这些非公共资源部署到该存储库。 Ivy 与 maven 存储库集成,因此您可以在编译期间提取这些资源。

【讨论】:

以上是关于本地存储库的好常春藤教程? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Gradle - 将第三方依赖项安装到本地常春藤存储库中

常春藤发布到存储库不会更新本地缓存

请参阅 VSTS 中的一个文件夹,该文件夹包含我的项目构建文件中的本地常春藤存储库

如何让 Grails 从 Maven 存储库中获取最新的本地 jars?

什么是国际化和本地化的好介绍和教程? [关闭]

你推动每一次提交吗? [关闭]