0

放置平台/架构信息的最佳位置是什么?

我的想法是通过在版本前面加上架构指示符来使用版本字段,因为这似乎是最简单的通配符,并且还可以防止意外混合和匹配不同平台:

version = <architecture>-<version>[-<branch>]

或者,可以将架构附加到工件 ID:

artifactId = <name>-<architecture>

两种方式都会导致相同的工件名称。

其他人做什么,为什么?

4

1 回答 1

1

如果您正在独立开发不同的架构,那么这些解决方案中的任何一个都可能是好的。但是,您可能会遇到不同架构的版本号相同的情况。如果您正在使用相同的代码库为不同的体系结构构建,这通常是这种情况,例如,您有一个构建到不同可分发文件中的工件,或者您有依赖于相同公共核心的不同工件。在这种情况下,您不希望使用架构或分支信息污染版本号,因为这会使 Maven 无法将其视为同一版本。建议的解决方案是使用分类器。根据Maven POM 参考

分类器:分类器允许区分从相同 POM 构建但内容不同的工件。它是一些可选且任意的字符串——如果存在的话——被附加到工件名称之后,紧跟在版本号之后。

作为这个元素的动机,考虑一个项目,它提供了一个针对 JRE 1.5 的工件,但同时也提供了一个仍然支持 JRE 1.4 的工件。第一个工件可以配备分类器jdk15,第二个工件可以配备分类器,jdk14以便客户可以选择使用哪一个。

于 2013-10-22T21:30:59.707 回答