1

私は一般的にjava/scalaスタックに不慣れです。これまでのところ、比較的単純なscalaアプリケーション(webappではない)のセットアップとmaven2を使用したビルドビルドがあり、出力を1つ以上の本番サーバー(EC2のubuntuですが、それは問題ではありません)にデプロイできるようにしたいと思います。私が想定し)?

私の主な質問は次のとおりです。1)すべての依存(サードパーティ)jarを本番サーバーにインストールするための最良の方法は何ですか?Mavenが開発ボックスへのインストールを処理しますが、これは本番環境でどのように機能しますか?2)mvn scala:runを使用してアプリを実行できますが、本番環境でアプリを起動する正しい方法は何ですか?3)その後の展開にどのように対処しますか?

すべてのポインタ/リソースが評価されます!初心者を助けてくれてありがとう!:)

4

2 に答える 2

2

私は Maven App Assembler プラグインを使用して、依存関係、独自のコードをパッケージ化し、起動スクリプトを作成する傾向があります。基本的な使用方法は、Sonatype の優れたMaven ブックに記載されています。

最大限の柔軟性を得るために、アプリケーションをコマンド ライン アプリケーション、Windows サービス、または Unix Daemon として実行できるようにする Java Service Wrapper スクリプトを生成できます。

このアプローチは、Scala アプリケーションに固有のものではありません。以下のコードの sample.Main$ など、アプリケーションのメイン クラスを知る必要があるだけです。

package sample

object Main {
  def main(args: Array[String]) = println("hello world")
}
于 2010-01-13T06:48:16.630 に答える
1

retronym の答えは最良の解決策のように見えますが、本当に単純なものが必要な場合は、Mavenアセンブリプラグインを使用できます。pom.xml にプラグインとして追加するだけでmvn assembly:assembly、すべての依存関係 (scala lib を含む) が unjar された jar が構築されます。したがって、アプリケーションを で実行するだけですjava -cp my.jar MyMainClass

于 2010-01-13T14:54:59.487 に答える