10 scala jar sbt sbt-assembly
这个词的含义是什么classifiers?它来自罐子吗?例如在sbt-assembly插件中:
artifact in (Compile, assembly) ~= { art =>
art.copy(`classifier` = Some("assembly"))
}
Run Code Online (Sandbox Code Playgroud)
gou*_*ama 14
classifier通过Maven的定义为一个项目的第五元素坐标,之后groupId,artifactId,version和packaging.
更具体地说(来自maven文档,强调我的):
分类器允许区分从相同POM构建但其内容不同的工件.它是一些可选的任意字符串 - 如果存在 - 将附加到版本号之后的工件名称.
作为此元素的动机,请考虑一个项目,该项目提供针对JRE 1.5的工件,但同时也是一个仍支持JRE 1.4的工件.第一个工件可以配备分类器jdk15,第二个工件配备jdk14,以便客户端可以选择使用哪个.
分类器的另一个常见用例是需要将辅助工件附加到项目的主工件.如果浏览Maven中央存储库,您会注意到分类器源和javadoc用于部署项目源代码和API文档以及打包的类文件.
例如,Maven central不仅包含普通(没有分类器)scala-library-2.10.2.jar,还包含
scala-library-2.10.2-javadoc.jar按惯例,它包含文档(即使在这种情况下它包含scaladoc而不是javadoc),scala-library-2.10.2-sources.jar 其中包含来源.这两个额外的工件与分类器一起发布.
SBT还允许您向依赖项添加分类器.来自doc:
libraryDependencies += "org.testng" % "testng" % "5.7" classifier "jdk15"
Run Code Online (Sandbox Code Playgroud)
在您的情况下,似乎sbt-assembly插件会覆盖所有分类器(仅在组装任务中)以将它们设置为assembly.
| 归档时间: |
|
| 查看次数: |
5164 次 |
| 最近记录: |