ant - 本地存储库的 Ivy 教程很好吗?

标签 ant ivy

有人能给我指点一个关于通过 Ivy 制作和使用本地存储库的好教程吗? (请不要指给我看 Ivy 文档,这些教程相当困惑)

我需要创建一个本地存储库来包含不一定通过公共(public) Maven 存储库提供的 .jar 文件。

最佳答案

创建本地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 

注意 Release模式。它告诉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 教程很好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1200762/

相关文章:

android - 为安卓安装 Tesseract

java - 共享 Ivy 配置

scala - 如何为每个用户或系统范围配置 Ivy 缓存目录?

sbt - Apache Ivy 可以处理 p2 存储库中的依赖项吗?

ant - 尽管有映射,ivy makepom 将所有依赖项标记为可选

eclipse - Apache Ivy 在 Ant 构建期间使用 Eclipse 工作区解决依赖关系

java - 更改 Clover 检测类的位置

java - 如何覆盖存储在 ant lib 目录中的 ant 任务

java - Java 类路径汇编如何工作?

ant - 什么时候应该乱用 Ant 构建文件?