2017-12-26 43 views
0

SBTプロジェクトをオフライン環境で動作させる最善の方法は何ですか? 外部(ネットワークenv内)でコンパイルするには、 などのすべての依存関係を持つuber jarをコンパイルしてから、オフラインのenv を実行するだけです。SBT uber jarのコンパイル

私たちは、すべての依存関係を持つユーバージャーでそれをコンパイルできるJava Mavenの、 に例えば、 して、オフラインのenvでちょうどjava -jar MyJar.jar ...

感謝。

+0

と:あなたはjava -jarjava -cp $jarfile $mainclassとは対照的に)でそれを実行したい場合はjarファイルのメインクラスを指定する必要があるかもしれません.ivy2ディレクトリに最初にコンパイルして保存し、それをオフラインで使用することができます。 –

+0

sbtのオフラインモードの問題点は何ですか? –

答えて

0

uber/fat jarを作成するための最善の策はsbt assembly pluginです。それからちょうどtarget/scala_$SCALA_VERSION内のすべての依存関係を持つjarファイルを作成する必要がありsbt assemblyを実行しているproject/assembly.sbt

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6") 

に次のようなものを置くことによって、あなたのプロジェクトでそれを含めます。 SBTは、依存関係の管理を実装するためにApacheのアイビーを使用して、私が正しくあなたの質問を理解していない

mainClass in assembly := Some("package.mainClass") 
関連する問題