放置平台/架构信息的最佳位置是什么?
我的诱惑是通过在架构指示符前加上版本来使用版本字段,因为这似乎是最简单的通配符,也可以防止意外混合和匹配不同的平台:
version = <architecture>-<version>[-<branch>]
或者,可以将架构附加到工件ID:
artifactId = <name>-<architecture>
两种方式都会导致相同的工件名称。
其他人做了什么,为什么?
答案 0 :(得分:1)
如果您正在独立开发不同的架构,那么这些解决方案中的任何一个都可能是好的。但是,您可能会遇到这样的情况,即跨体系结构的版本号将是相同的。如果您正在为相同代码库之外的不同体系结构构建,例如,通常情况可能就是这种情况。要么你有一个构建在不同分布中的工件,要么你有不同的工件依赖于相同的共同核心。在这种情况下,您不希望使用体系结构或分支信息污染版本号,因为它使Maven无法将其视为相同版本。建议的解决方案是使用分类器。根据{{3}}:
<强>分类强>: 分类器允许区分伪像 从同一个POM构建但内容不同。这是一些 可选和任意字符串 - 如果存在 - 附加到 工件名称紧跟在版本号之后。
作为此元素的动机,请考虑一个项目 提供了一个针对JRE 1.5的工件,但同时也是一个 仍然支持JRE 1.4的工件。第一件神器可能是 配备分类器
jdk15
,第二个配jdk14
客户可以选择使用哪一个。