Ant 如何在项目/库中为本地JAR创建常春藤依赖项?
我有几个jar文件(其中一些相互依赖),我正试图让ivy为我的项目管理它们 我不想创建“本地”(基于用户目录)存储库,因为我希望其他用户能够签出我的svn项目并在没有本地/共享存储库设置的情况下运行它。由于各种原因,我无法将这些文件添加到我们正在使用的实际存储库中 该项目依赖于这些文件,我正在SVN中使用它们。在过去,我有我正常的常春藤依赖xml文件。这些文件使用指向远程存储库的设置xml文件。过去,在最后一分钟,我让ant使用构建任务将这些文件从lib文件夹复制到构建文件夹中。这感觉像是一种被打破的滥用,它忽略了常春藤文件系统解析器的特性 (3个可构建项目的ivy.xml和build.xml在另一个基本目录中使用相同的ivysettings.xml。)Ant 如何在项目/库中为本地JAR创建常春藤依赖项?,ant,jar,project,dependencies,ivy,Ant,Jar,Project,Dependencies,Ivy,我有几个jar文件(其中一些相互依赖),我正试图让ivy为我的项目管理它们 我不想创建“本地”(基于用户目录)存储库,因为我希望其他用户能够签出我的svn项目并在没有本地/共享存储库设置的情况下运行它。由于各种原因,我无法将这些文件添加到我们正在使用的实际存储库中 该项目依赖于这些文件,我正在SVN中使用它们。在过去,我有我正常的常春藤依赖xml文件。这些文件使用指向远程存储库的设置xml文件。过去,在最后一分钟,我让ant使用构建任务将这些文件从lib文件夹复制到构建文件夹中。这感觉像是一种被
我觉得我已经完成了90%,我应该在ivysettings.xml中将我的文件系统解析器指向什么,以便在解析器链中第一次解析projectdir/lib中检查jar文件 你看过常春藤任务了吗 您可以使用它来控制3个模块的构建顺序。在构建每个模块时,它可以发布到本地存储库,确保jar及时出现在链中的下一个模块中
build.xml
ivysettings.xml
--> module1 --> build.xml
ivy.xml
--> module2 --> build.xml
ivy.xml
--> module3 --> build.xml
ivy.xml
所有项目都可以共享您的设置文件。它表示您构建的模块在本地可用,其他所有内容都来自默认存储库,可供项目的所有用户使用(在本例中为Maven)
..
最后,当您在外部发布时,您可以使用ivy安装任务将您已经在本地发布的模块复制到最终存储库位置
<ivysettings>
<settings defaultResolver="maven2"/>
<resolvers>
<ibiblio name="maven2" m2compatible="true"/>
<filesystem name="local">
<ivy pattern="${local.rep.dir}/.."/>
<artifact pattern="${local.rep.dir}/.."/>
</filesystem>
</resolvers>
<modules>
<module organisation="org.me" name="module1" resolver="local"/>
<module organisation="org.me" name="module2" resolver="local"/>
..
</modules>
</ivysettings>