MavenでOracle JDBC(ojdbc.jar)を使うには
Mavenは便利だけど中には手に入らないjarも存在します。
特に会社でMavenを使おう!となるとojdbc.jar つまり、Oracle JDBCが無くて困ります。ではどうするか?
答えは3つあるかなーと。
- ojdbcだけはMaven以外で管理する。 つまり普通にlibフォルダに突っ込んでビルドパス通すなりなんなりする。
- JDBCドライバのリポジトリは? 上記URLを参考にする。
- ローカルリポジトリを使う。
1でもまあ良い気もします。特に欠点はないかもしれません。
2は以下の理由で採用しづらいです。
まずojdbcのバージョンが古いです。2013/9/8現在、Oracle DBは11gでojdbc6.jarが最新です。そしてコメントにもあるように再配布OKなのか怪しいので、ここのURLから取得していいのか分かりません。普通OracleからDLするときにライセンス承認求めてくるので、そっち経路で入手すべきかな。
3が今の所一番良いかと思います。
ローカルリポジトリにojdbc6.jarを用意する
ではどうするかというと、単にmvn install:install-fileするだけです。
まず、備忘録も兼ねてpom.xmlにコメント付きで以下のように書いておきます。
<!-- OJDBC6用 Maven Centralから持ってこれないので以下のコマンドを実行 -->
<!-- ローカルのjarをローカルMavenリポジトリに入れる -->
<!-- mvn install:install-file -Dfile=ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0</version>
</dependency>
この時点ではojdbc6なんてないよ?と言われるので、Oracle公式からojdbc6.jarをDLして適当なフォルダに置きます。
次に、コマンドプロンプトでそのフォルダまで行って、上記のコメントアウトのコマンドを実行します。
mvn install:install-file -Dfile=ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar
これで、自分のローカルリポジトリ、例えば以下に.jarが配置されるので、上記のdependencyが解決されます。
C:\Users\hoge\.m2\repository\com\oracle\ojdbc6\11.2.0\ojdbc6-11.2.0.jar
じゃあチーム開発ではどうするか?
個人的には各自ライセンス承認してDLして上記の手順でインストールしてください、と言いたい所ですが、そうも行かないケースもあると思います。なので、適当な共有フォルダなり、サーバにリポジトリを用意して、そのリポジトリを
以下のURLなどを参考に。