もぎの部屋

個人の感想を書くLife&Techブログです。

技術メモ『Play Framework:外部jarの読み込み方』

概要

最近仕事でPlay Frameworkというものを使うようになりました。
Javaの改修なのでEclipseを使っています。
今回はサードパーティー製のjarライブラリを使おうと思ったのでビルドパスに追加したのですが、うまく読み込めずハマったのでメモ。

事象

外部jarの読み込ませ方として、Eclipseのプロジェクト-ビルドパスの構成からjarを選択すれば、そのライブラリは使える認識でした。
今回も外部jarにビルドパスを通したので、Eclipse上でそのライブラリをインポートすることができ、特にエラーは出ませんでした。ところが"sbt compile"をすると

パッケージhogehogeは存在しません

.classpathファイルにもちゃんとjarは追加されているし、謎でした。

解決策

Play Frameworkはbuild.sbtにそのライブラリ情報を書かないといけないことがわかりました。
libraryDependenciesという項目があるので、ここにjarを追記していきます。
例えば、google apiならこんな感じ

libraryDependencies ++= Seq(
  jdbc,
  cache,
  "com.google.apis" % "google-api-services-plus" % "v1-rev557-1.25.0"
)   

この記述方法は、こちらのサイトで検索できます。
Maven Repository: Search/Browse/Explore
ライブラリを検索してバージョンを選択すると、sbt用の書き方が見れるので、そいつをコピペすればオッケー。
この後にコンパイルしたら無事通りました。

他にも外部ライブラリはたくさん読み込んでいるんだけど、build.sbtに記述してあるのはそのうちの数個だけだった。そのへんの分け方はどうなっているんだろう?
あと、そもそもMavenがなんなのかよくわかってないから調べよーっと。