3

何らかの理由runで、SBT 0.12.3 で jar のメイン クラスとパッケージング 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")

設定が持っている4軸のうちの2軸を指定しているので(Compile,run,packageBin)意味がありません。他のものから値を取得したい場合は、次のように言えます。

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

詳細については、入門ガイドをご覧ください。

于 2013-08-22T17:34:58.773 に答える