2013-04-09 78 views
3

出于某种原因,我无法同时指定run的主类和SBT 0.12.3中的包装罐。无法指定SBT中运行和包装罐的主类0.12.3

问题是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 

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

回答

3

(Compile,run)

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

被指定一个设置有四个轴的两个轴,所以(Compile,run,packageBin)没有意义。如果你想抓住从其他的价值,你可以说:

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

有关详细信息,请Getting Started guide