Eclipse+SBTで実行用JARファイルをビルドして、スタンドアロンで動かしてみた。

By | 2018年5月5日 , Last update: 2019年8月31日

はじめに

前の記事ではScalaのテストプログラムをEclipseで動かすための手順について書きました。

この記事ではScalaのプログラムをビルドしてスタンドアロンで動かすための設定及び手順について書きます。なお、スタンドアロンで実行する場合には、前の記事で書いたテストプログラムではなく、mainメソッドが実行される点には注意が必要です。そういう話の流れできていますので、前の記事で書いたところまではすでにできていること、すなわちScalaプロジェクトが以下のようなフォルダ構成になっているものと仮定して書いていきます。

スポンサーリンク

ビルドのための設定を追加する。

ビルドのために必要最低限な設定は極めて簡単で、以下の設定をplugins.sbtに追加するだけで完了です。なお、バージョン番号についてはこの記事を書いている時点(2018年5月)の最新版を指定しています。

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

 
お好みで(といっても継続的にアプリケーションの開発を行う場合にはほぼ必須だと思いますが)、build.sbtに以下のような設定を追加しますと、バージョン番号を設定することができます。なお、バージョン番号はお好みのものを設定できます。

version := "0.1.1-SNAPSHOT"

 

ビルドします。

ビルドは以下の手順で行います。以下の手順により依存しているJARファイルを含んだ「全部入り」の実行用のJARファイルを生成できます。

  1. いったんEclipseを離れてコマンドプロンプトを起動し、plugins.sbtを追加したプロジェクトのルートフォルダ(この記事の例ではEclipseのワークスペースのフォルダの下のMyFirstScalaフォルダになります。)を作業フォルダとしてから、初回のみ以下のコマンドを実行します。
    > sbt

     
    すると、SBTの実行に必要なライブラリファイルがユーザのホームディレクトリの.sbtの下にダウンロードされます。

  2. SBTのプロンプトが起動しますので、以下のコマンドを実行します。
    sbt:myfirstscala> assembly

     
    すると、テストコードがある場合にはテストが行われ、スタンドアロンで実行するためのJARファイルがtarget\scala-<version>の下に生成されます(“<version>”は使用しているScalaのバージョン番号に読み替えてください)。

  3. ビルドが完了したら以下のコマンドを実行し、SBTのコマンドプロンプトを終了させます。
    sbt:myfirstscala> exit

     

JARファイルを実行する。

生成されたJARファイルはtarget\scala-<version>の下にありますので、コマンドプロンプトを起動して、カレントディレクトリをtarget\scala-<version>の下に移動してから以下のコマンドを実行するとJARファイルを実行することができます。

> java -jar myfirstscala-assembly-0.1.1-SNAPSHOT.jar

 
なお、実行結果については前の前の記事に書いたものと同じものとなります。

まとめ

ここまでの操作手順で、スタンドアロンで実行可能なJARファイルを作成することができました。

この先、Play Framework方面に進むのか、それともApache Spark方面に進むのかはわかりませんが、このあたりまでできるようになっておけば(自分の経験的には)どちらに進んでも対応可能です、たぶん。

Scalaの使い方についてはいったんここでひと区切りとし、機会があったらまた別の記事で書きます。

この記事は以上です。