我正在使用simple-build-tool构建一些仅限Java的项目.当我使用sbt publish-local从项目中发布工件时,生成的工件会在其名称后附加Scala版本.使用Scala项目这是有道理的,但由于这些只是Java项目,所以它没有.如何禁用Scala版本的后缀?或者我可以吗?
作为参考,我使用sbt 0.11.1,Scala 2.9.1和.sbt文件进行构建配置(尽管转移到完整的项目配置也没问题).
Jam*_*mes 86
在查看Artifact.artifactName如何实现并最终使用之后,似乎关闭它的方法是为crossPath设置指定false.这在xsbt wiki上的一个快速配置示例中有记录.
http://www.scala-sbt.org/release/docs/Examples/Quick-Configuration-Examples
// disable using the Scala version in output paths and artifacts
crossPaths := false
Run Code Online (Sandbox Code Playgroud)
Fra*_*oth 11
我知道这个问题已经过时了,但我一直在问自己同样的问题,现在实际上有一个非常简单的方法.您所要做的就是使用%而不是使用以下方式声明依赖项%%:
%:用于从您提供的字符串构造Ivy模块ID的方法.
%%:在groupID之后使用时,它会自动将项目的Scala版本(例如_2.10)添加到工件名称的末尾.
http://alvinalexander.com/scala/sbt-how-to-manage-project-dependencies-in-scala
这是在修改默认工件下的xsbt wiki中记录的.从该页面:
例如,要生成没有分类器或交叉路径的最小名称:
Run Code Online (Sandbox Code Playgroud)artifactName := { (sv: ScalaVersion, module: ModuleID, artifact: Artifact) => artifact.name + "-" + module.revision + "." + artifact.extension }
尽管公认的答案是完全正确的,但您绝对不应设置crossVersions为false公开发布的Scala工件。嵌入式scala版本是一项重要的兼容性功能,因为不同版本的Scala库可能不是二进制兼容的。
只设置crossVersions到false了项目,就像那些有问题,只有严格的Java。
| 归档时间: |
|
| 查看次数: |
11896 次 |
| 最近记录: |