波打際のブログさん

主に、プログラミング備忘録など。

Playframework2.0でライブラリ依存関係を追加する方法

方法1 libディレクトリ

playで作成したアプリケーションのルートディレクトリ直下に、libフォルダを作って中にjarを突っ込むという方法。
手元にjarファイルが存在する場合には手っ取り早い方法ですが、推奨はされていません。
(自分でコンパイルしたjarを使用する場合はこの方法を使わざるを得ないですが。)

方法2 sbt

sbtとはSimple Build Toolの略で、scalaのためのビルドツールです。
play2.0では標準でsbtを採用しており、ライブラリの依存関係追加はこのsbtのビルド情報を編集する方法が推奨されています。

具体的な使い方

1.使いたいライブラリを探す。

Maven Repository(http://mvnrepository.com/)を利用して、使用したいライブラリを検索後、使用したいバージョンを選択、SBTを選択して、SBT用の情報を引っ張ってきます。

例えばSQLite-JDBCの3.7.2を使用したい場合は
http://mvnrepository.com/artifact/org.xerial/sqlite-jdbc/3.7.2
のSBTタブを選択後に出てくる

libraryDependencies += "org.xerial" % "sqlite-jdbc" % "3.7.2"

という記述を使用します。

2.conf/Build.scalaに記載する。

Maven Repositoryから検索してきたSBT用の情報を、先頭の libraryDependencies += を外してconf/Build.scalaに記載します。

具体的にはconf/Build.scalaでappDependenciesコレクションを生成している箇所に、次のように記載することで、依存関係を追加します。

val appDependencies = Seq(
	// Add your project dependencies here,
	javaCore,
	javaJdbc,
	javaEbean,
	"org.xerial" % "sqlite-jdbc" % "3.7.2" //←この行を追加
)

これで依存関係の追加が出来ました。

追加後は依存関係を更新する。

ライブラリ依存関係を追加したあとは、playをクリーンコンパイルして依存関係を解決させる必要があります。

$ play clean
$ play compile

また、Eclipseを使用している場合は次のコマンドを実行しないと依存関係を解決してくれませんでした。

$ play eclipse --with-source=true