如何使用常春藤和nexus发布第三方文物
我忙着用常春藤弄湿我的脚。我在我的本地PC上运行了一个现有的nexus存储库,以及一个现有的ant构建脚本。
两者都很好。
部分构建脚本有一些文件可以从网络共享中检索我们的第三方jar文件(log4j,xmlbeans,junit,pdf等等) - 最好是笨拙的。
我想使用ivy的依赖机制从nexus存储库中检索这些文件并在构建中使用它。每个3rdparty lib都有一个名称和一组任意文件(jar,dll,license.dat,xml等)。
由于我们有大量的这些第三方库,每个lib都有多个文件 - 手动上传到nexus不是一个选项 - 我需要一些我可以用来获取一组文件,给它们一个lib名称,一个版本号和将结果上传到nexus。然后我需要能够从常春藤中检索这个。
我设法让上传部分工作,但撤销过程不起作用。使用我们的xmlbeans lib作为起点,我创建了以下ivy.xml文件
<ivy-module version="1.0"> <info organisation="thirdparty_tools" module="xmlbeans" status="integration"> <publications> <artifact name="jsr173_api" type="jar" ext="jar"/> <artifact name="saxon-dom" type="jar" ext="jar"/> <artifact name="saxon-xpath" type="jar" ext="jar"/> <artifact name="saxon" type="jar" ext="jar"/> <artifact name="xbean" type="jar" ext="jar"/> <artifact name="xbean_xpath" type="jar" ext="jar"/> <artifact name="xmlpublic" type="jar" ext="jar"/> </publications> </ivy-module>
然后将一些蚂蚁脚本发布到nexus:
<ivy:resolve/> <ivy:publish <ivy:publish resolver="thirdparty" forcedeliver="true" update="true" revision="${version}" overwrite="true"> <artifacts pattern="[artifact].[ext]"/> <ivy:publish/>
这一切都很好。它将所有jar文件发布到预期目录中的nexus。
当我尝试在我的构建中使用它时遇到麻烦。我为我的构建创建了以下ivy.xml文件:
<ivy-module version="1.0"> <info organisation="myCompany" module="GLB_Data"/> <dependencies> <dependency org="thirdparty_tools" name="xmlbeans" rev="2.2.0"/> </dependencies> </ivy-module>
所以我需要以不同的方式发布,或以不同的方式检索。
相关分类