ハマログ

株式会社イーツー・インフォの社員ブログ

最新のOracleドライバーをMaven2で管理する

古いJavaをバージョンアップしようと試みたところ、Oracleドライバが古く、最新のJavaで利用できませんでした。そこで、Oracleのドライバもバージョンアップします。幸い、Mavenで構成管理されているプロジェクトなので、比較的楽に対応出来そうです。

maven-logo-black-on-white

環境は、Eclipse, Java8, Oracle12c, Maven2です。

pom.xmlにOracle JDBCドライバと必要なjarファイルを記載します。orai18nはグローバリゼーション・サポート用のライブラリで、複数のキャラクタセットを扱うために必要です。

<dependency>
	<groupId>com.oracle</groupId>
	<artifactId>ojdbc7</artifactId>
	<version>12.1.0.2</version>
</dependency>
<dependency>
	<groupId>oracle</groupId>
	<artifactId>orai18n</artifactId>
	<version>12.1.0.2</version>
	<scope>provided</scope>
</dependency>

Mavenを利用して、依存パッケージのアップデートをしてみます。

1.update_project

おこられました。

[WARN] The POM for com.oracle:ojdbc7:jar:12.1.0.2 is missing,
no dependency information available
[WARN] The POM for oracle:orai18n:jar:12.1.0.2 is missing,
no dependency information available

Mavenのリポジトリからは取得できないようなので、実ファイルを入手します。
以下のURLからOJDBCドライバーとグローバリゼーション・サポート用のjarファイルをダウンロードします。
(Oracleの会員登録が必要です。無料です。)

Oracle Database 12.1.0.2 JDBC Driver & UCP Downloads

ドライバ
ojdbc7.jar – Certified with JDK7 and JDK 8; It contains the JDBC driver classes except classes for NLS support in Oracle Object and Collection types.

グローバリゼーション・サポート用のjarファイル
orai18n.jar – Classes for NLS(National Language Support) support

jarファイルを参照できるようにします。
やり方が3つあります。

1.指定のフォルダに置いてsystemPath指定

プロジェクト直下にlibフォルダ(名前は任意)を作成します

20160710 191001

pom.xmlにscopeとsystemPathを記載します。

<dependency>
	<groupId>com.oracle</groupId>
	<artifactId>orai18n</artifactId>
	<version>12.1.0.2</version>
	<scope>system</scope>
	<systemPath>${basedir}/lib/orai18n.jar</systemPath> <!-- must match file name -->
</dependency>
<dependency>
	<groupId>com.oracle</groupId>
	<artifactId>ojdbc7</artifactId>
	<version>12.1.0.2</version>
	<scope>system</scope>
	<systemPath>${basedir}/lib/ojdbc7.jar</systemPath> <!-- must match file name -->
</dependency>

無事に入りました!

20160710-191955

2.ローカルのmavenリポジトリにライブラリをインストール

以下のコマンドを実行すると、ローカルのmavenリポジトリにファイルがインストールされます。あとは他のライブラリ同様に参照することができるようになります。

mvn install:install-file -Dfile=/path/to/ojdbc7.jar -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.2 -Dpackaging=jar

3.OracleのMavenリポジトリから入手(未検証)

なんと、ブログを書いている時に知ったのですが、Oracle Maven Repository というものがあるようです。
この方法が一番良さそうですが、試していないです。
以下の記事を参考にどうぞ。

Dev2Dev
Get Oracle JDBC drivers from the Oracle Maven Repository – NetBeans, Eclipse & Intellij

以上です。

JDBCMavenMaven2OJDBCOracle

  kaneko tomo   2016年7月10日


関連記事

AWS Systems Managerを利用して複数のEC2インスタンスで一括コマンド実行する

AWS Systems Managerの管理下にEC2を置くと、複数のインスタン…

STIMULUSでちょっとリッチなUI

フロントエンド(JavaScript)の開発の方向性については「これ」というデフ…

FAQサイト構築ツールのご紹介

少し前になりますがイーツー・インフォのオープンソースソリューションでFAQサイト…


← 前の投稿

次の投稿 →