我们目前正在尝试将使用 ant 构建的非常(非常)大的项目移植到 maven(同时也迁移到 svn)。正在探索重塑项目结构以最适合 Maven 范式的所有可能性。
现在更具体地说,我遇到了分类器,并想知道如何利用它们来发挥自己的优势,同时避免使用“分类器反模式”。
谢谢
来自:http ://maven.apache.org/pom.html
分类器:你可能偶尔会在坐标上找到第五个元素,那就是分类器。我们稍后会访问分类器,但现在知道这些类型的项目显示为 groupId:artifactId:packaging:classifier:version 就足够了。
和
分类器允许区分从相同 POM 构建但内容不同的工件。它是一些可选且任意的字符串——如果存在的话——被附加到工件名称之后,紧跟在版本号之后。作为这个元素的动机,例如,考虑一个项目,它提供了一个针对 JRE 1.5 的工件,但同时也提供了一个仍然支持 JRE 1.4 的工件。第一个工件可以配备分类器 jdk15,第二个工件配备 jdk14,以便客户端可以选择使用哪一个。
分类器的另一个常见用例是需要将辅助工件附加到项目的主要工件。如果您浏览 Maven 中央存储库,您会注意到分类器源和 javadoc 用于部署项目源代码和 API 文档以及打包的类文件。