出于某种原因,我无法在SBT 0.12.3中同时指定run
和包装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
这是一个错误还是我错过了什么?
答案 0 :(得分:3)
中的
(Compile,run)
mainClass in (Compile,run) := Some("Hi")
指定设置具有的四个轴的两个轴,因此(Compile,run,packageBin)
没有意义。如果你想从另一个中获取价值,你可以说:
mainClass in (Compile,packageBin) <<= mainClass in (Compile,run)
有关详细信息,请查看Getting Started guide。