3

出于某种原因,我不能同时run在 SBT 0.12.3 中指定主类和包装 jar。

问题是,sbt publish-local如果我没有明确设置它,它不会将主类的名称放入 jar 的清单中。

但有趣的是,这

mainClass in (Compile,run) := Some("Hi")

mainClass in (Compile,packageBin) := Some("Hi")

分开工作,但这

mainClass in (Compile,run,packageBin) := Some("Hi")

导致 SBT 失败并出现以下错误

C:\work\test_projects\hw\build.sbt:13: error: reassignment to val
mainClass in (run,Compile,packageBin) := Some("Hi")
                                      ^
[error] Type error in expression

这是一个错误还是我错过了什么?

4

1 回答 1

3

(Compile,run)在_

mainClass in (Compile,run) := Some("Hi")

是指定设置具有的四个轴中的两个轴,所以(Compile,run,packageBin)没有意义。如果你想从对方那里获取价值,你可以说:

mainClass in (Compile,packageBin) <<= mainClass in (Compile,run)

有关更多详细信息,请查看入门指南

于 2013-08-22T17:34:58.773 回答