在工件名称中保留点

0__*_*0__ 6 scala sbt

我有一个在工件名称中使用点的库,比如"org.scala-refactoring.library".使用项目名称定义,例如:

name := "org.scala-refactoring.library"
Run Code Online (Sandbox Code Playgroud)

这在使用时会转换为连字符publish-local,因此它变为"org-scala-refactoring-library".

如何保留已发布工件中的点?


这似乎是在出版而不是包装中发生的事情.例如,以下内容无效:

artifactName := { (sv, module, artifact) =>
  s"${name.value}_${sv.binary}-${module.revision}.${artifact.extension}"
}
Run Code Online (Sandbox Code Playgroud)

确实封装

target/scala-2.11.0-RC1/org.scala-refactoring.library_2.11.0-RC1-0.6.2-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)

但它仍然发布到

~/.ivy2/local/org.scala-refactoring/org-scala-refactoring-library_2.11.0-RC1/0.6.2-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)

0__*_*0__ 1

您可以通过显式定义来覆盖该行为moduleName,例如:

moduleName := name.value
Run Code Online (Sandbox Code Playgroud)