猿问

如何使用常春藤和nexus发布第三方文物

如何使用常春藤和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>

所以我需要以不同的方式发布,或以不同的方式检索。



喵喔喔
浏览 403回答 2
2回答
随时随地看视频慕课网APP
我要回答