Yan*_*eve 15 maven-2 classification project-structure pom.xml maven-3
我们目前正在尝试移植一个非常(非常)大型项目,该项目使用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文档以及打包的类文件.
我认为正确的问题是How to use or abuse attached artifacts maven?因为basicaly这就是为什么引入分类器 - 允许你发布附加的工件.
好吧,Maven项目经常隐含地使用附加工件,例如使用maven-javadoc-plugin或maven-source-plugin.maven-javadoc-plugin使用javadoc分类器发布包含生成的文档的附加工件,maven-source-plugin使用sources分类器发布源代码.
那么显式使用附加工件呢?我使用附加的工件来发布harness shell脚本(start.sh和Co).使用分类器sql或类似的东西在附加工件中发布SQL脚本也是一个好主意.
如何在分类器中附加仲裁工件? - 这可以使用build-helper-maven-plugin完成.
......我想知道如何利用它们对我有利...
不要使用它们.它们是可选的和任意的.
如果您正在将项目移植到maven,请保持简单,只做必要的事情(首先),让所有事情按照您的意愿运行.然后,在事情按照你想要的方式工作之后,你可以探索maven的更多高级功能来做很酷的事情.
这个答案基于你的问题听起来像"这个功能听起来很整洁,即使我不需要它,我怎么能用它?" 有点问题.如果您需要此功能,请更新您的问题,了解您如何考虑使用分类器功能的更多信息,我们将更加了解您的帮助.
| 归档时间: |
|
| 查看次数: |
19214 次 |
| 最近记录: |