Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
常春藤店;“类型”-Maven存储库中工件的属性_Maven_Ant_Ivy - Fatal编程技术网

常春藤店;“类型”-Maven存储库中工件的属性

常春藤店;“类型”-Maven存储库中工件的属性,maven,ant,ivy,Maven,Ant,Ivy,我尝试使用与Maven 2兼容的格式从遗留的Ivy存储库迁移到Maven自托管实例(Artifactory)。遗留的Ivy工件使用Ivy支持的所有属性,将其命名为:“配置(conf)”、“扩展(ext)”、“类型”和“名称” 我可以将大多数属性映射到Maven中的等价项: “conf”->“作用域” “名称”->“artifactId” “分机”->“包装” “组织”->“组ID” “修订版”->“模型版本” 但是对于“type”,Maven工件中没有留下任何属性。“type”属性的主要用途

我尝试使用与Maven 2兼容的格式从遗留的Ivy存储库迁移到Maven自托管实例(Artifactory)。遗留的Ivy工件使用Ivy支持的所有属性,将其命名为:“配置(conf)”、“扩展(ext)”、“类型”和“名称”

我可以将大多数属性映射到Maven中的等价项:

  • “conf”->“作用域”
  • “名称”->“artifactId”
  • “分机”->“包装”
  • “组织”->“组ID”
  • “修订版”->“模型版本”
但是对于“type”,Maven工件中没有留下任何属性。“type”属性的主要用途是控制工件的部署(在何处以及如何部署它们)

我注意到Maven工件不支持“定制”属性。那么,如何以标准的一致方式存储“类型”信息呢?

摘自

已发布工件的类型。它通常是它的延伸,但是 不一定。例如,常春藤文件属于“常春藤”类型,但具有 “xml”扩展

除非指定,否则工件的“类型”默认为jar

更新 Maven使用分类器支持不同类型的模块工件。这可以在常春藤上用计算机模拟

示例:


也许我的问题不够详细,但我确实知道Ivy如何使用“type”属性,因为我经常使用它:-)。我的问题在于Maven,它没有类似的属性/属性。在Maven中,您只有“packaging”,这类似于Ivy的“ext”属性。由于“ext”在Ivy中非常直接/固定,因此我在Maven中缺少了一个附加属性,这样我就可以在Maven中存储当前的“类型”信息(例如部署路径提示)。@PeterBranforn您的观察非常准确。与常春藤相比,Maven的选择更少。你到底在用什么字体?这不是我在项目中设置的。我使用额外的参数来控制工件下载到的位置。重要的细节:由于每个ivy.xml都包含多个人工制品部分,因此每个部分都会根据“type”属性下载到单独的位置。@PeterBranforn使用ivy额外属性如何?具体使用Maven分类器。Hi Mark,该分类器已用于人工制品“ext”声明。我读了一些关于“误用”其他属性的文章,但这基本上会破坏与Maven构建本身的兼容性:-(。