連載
» 2004年02月10日 10時00分 公開

JavaTips 〜JSP/サーブレット編:拡張フォルダのパスを取得する

[山田祥寛,@IT]

 アプリケーションの構築に際しては、J2SEに用意された標準のAPI(コアライブラリ)だけではなく、サードベンダ、自作を問わず、多くの拡張API(ライブラリ)を導入する機会が少なくありません。

 従来、これらの拡張ライブラリを導入した場合には、関係する「.jar」ファイルをいちいちCLASSPATH環境変数に含める必要がありましたが、対象となる.jarファイルが多くなってくると、これがなかなか面倒なものです。そこで、Java 2(JDK 1.2)からは「Extension Framework」と呼ばれる拡張仕様が標準実装されています。

 このExtension Frameworkを利用すれば、あらかじめ規定されたフォルダ(例えば、「%JAVA_HOME%\jre\lib\ext」)に対象となる.jarファイルをコピーするだけで、自動的に.jarファイルが登録されるという仕組みです。環境変数を設定する必要も、コンパイル時にクラスパスを設定する必要もありませんので、極めて簡便に拡張ライブラリを扱うことができます。もちろん、不要になった拡張ライブラリを「アンインストール」したいという場合にも、対象の.jarファイルを該当のフォルダから削除するだけで済みます。

 さて、この「Extension Framework」、とても便利な仕組みですが、環境やバージョンによって「規定のフォルダ(拡張フォルダ)」が異なるケースがあります。その場合、J2SEをバージョンアップしたら、拡張ライブラリが認識できなくなってしまった、JavaアプリケーションからJDBCドライバを経由したデータベース接続ができなくなってしまった、などの不具合が発生するというわけです。

 しかし、そのような場合にも慌てることはありません。簡単なJavaプログラムを記述することで、拡張フォルダを調べることができます。 以下のJavaプログラムを実行することで、現在のサーバ環境における拡張フォルダのパスが表示されます。

public class ExtensionPath {
  public static void main (String[] args) {
    System.out.println(System.getProperty("java.ext.dirs"));
  }
}

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。