Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sbt &引用;出版「;到本地maven repo只创建scaladoc jar?_Sbt - Fatal编程技术网

Sbt &引用;出版「;到本地maven repo只创建scaladoc jar?

Sbt &引用;出版「;到本地maven repo只创建scaladoc jar?,sbt,Sbt,我使用的是sbt 0.13.0和Scala 2.10.3 我想向本地maven repo发布一个工件,所以我在build.sbt中添加了以下内容: publishMavenStyle := true publishTo := Some(Resolver.file("file", new File(Path.userHome.absolutePath+"/.m2/repository"))) artifactName := { (sv: ScalaVersion, module: Mo

我使用的是sbt 0.13.0和Scala 2.10.3

我想向本地maven repo发布一个工件,所以我在
build.sbt
中添加了以下内容:

publishMavenStyle := true

publishTo := Some(Resolver.file("file",  new File(Path.userHome.absolutePath+"/.m2/repository")))

artifactName := { 
  (sv: ScalaVersion, module: ModuleID, artifact: Artifact) =>
    artifact.name + "-" + module.revision + "." + artifact.extension
}
当我使用
publish
cmd jar时,会在我的home.m2目录中创建,但有相同的内容,这意味着它们只包含scaladocs—仅包含html、css和js文件


这是我第二次在这个项目中发布我的工件。上次它工作得很好。大多数类更改了它们的包,这可能是原因吗?如何解决这个问题?

删除
artifactName
,它应该可以再次正常工作

为什么要重新定义它(因为它现在破坏了
publish
)?最初的目标是什么

[sbt-0-13-1]> about
[info] This is sbt 0.13.1
[info] The current project is {file:/Users/jacek/sandbox/so/sbt-0.13.1/}sbt-0-13-1 0.1-SNAPSHOT
[info] The current project is built against Scala 2.10.3
[info] Available Plugins: com.typesafe.sbt.SbtGit, com.typesafe.sbt.SbtProguard, growl.GrowlingTests, np.Plugin, com.timushev.sbt.updates.UpdatesPlugin
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.3
[sbt-0-13-1]> help artifactName
Function that produces the artifact name from its definition.
[sbt-0-13-1]> inspect artifactName
[info] Setting: scala.Function3[sbt.ScalaVersion, sbt.ModuleID, sbt.Artifact, java.lang.String] = <function3>
[info] Description:
[info]  Function that produces the artifact name from its definition.
[info] Provided by:
[info]  */*:artifactName
[info] Defined at:
[info]  (sbt.Defaults) Defaults.scala:533
[info] Reverse dependencies:
[info]  *:makePom::artifactPath
[info] Delegates:
[info]  *:artifactName
[info]  {.}/*:artifactName
[info]  */*:artifactName
[info] Related:
[info]  */*:artifactName
[sbt-0-13-1]>关于
[信息]这里是sbt 0.13.1
[信息]当前项目是{file:/Users/jacek/sandbox/so/sbt-0.13.1/}sbt-0-13-1 0.1-SNAPSHOT
[信息]当前项目是根据Scala 2.10.3构建的
[信息]可用插件:com.typesafe.sbt.SbtGit、com.typesafe.sbt.SbtProguard、growl.GrowlingTests、np.Plugin、com.timushev.sbt.updates.UpdatesPlugin
[信息]sbt、sbt插件和构建定义都使用Scala 2.10.3
[sbt-0-13-1]>帮助工件名称
函数,该函数根据其定义生成工件名称。
[sbt-0-13-1]>检查工件名称
[info]设置:scala.Function3[sbt.ScalaVersion,sbt.ModuleID,sbt.Artifact,java.lang.String]=
[信息]说明:
[info]根据其定义生成工件名称的函数。
[信息]提供人:
[信息]*/*:工件名称
[信息]定义于:
[信息](sbt.Defaults)默认值。scala:533
[信息]反向依赖项:
[信息]*:makePom::artifactPath
[信息]代表:
[信息]*:工件名称
[info]{.}/*:工件名称
[信息]*/*:工件名称
[信息]相关:
[信息]*/*:工件名称

查看中如何定义默认实现。

谢谢@Jacek,它成功了!现在我想知道为什么返回用于生成文件名的字符串的函数可以如此显著地改变整体行为?哦,你问过我为什么要更改名称。我不记得了:)这个jar是我的同事用的,他们不接触Scala,所以在它前面有一个简单的java接口。命名与此有关,但我真的不记得真正的原因是什么。