Javaライブラリを使うときは、環境変数CLASSPATH・クラスパスを設定する(Windows)

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

JavaのHTTP Client ライブラリを、ちょっとしたツール作成と学習を兼ねて使おうとしたところ、エラー連発したが解決できたのでそのメモ。
javacでコンパイル後、javaコマンドで実行すると、以下のようなエラーが出ました。

スポンサーリンク

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/HttpMethod

どうやら、HTTP Clientライブラリ(commons-httpclient-3.0-rc1.jarファイル)が読み込めずに、”クラス定義が見つかりません”、とエラーが出ている。
JavaのライブラリをWindows環境で使うには、CLASSPATHというシステム環境変数を設定してやらないといけないそうです。
以下、その解決手順。

1.コントロールパネル→システム→詳細設定→環境変数

PATHなどの環境変数を設定するときにお馴染みですね。
ここで、環境変数に、新たにCLASSPATHを新規追加します。

2.CLASSPATH環境変数を新規追加して、値を設定

CLASSPATH環境変数に、ライブラリ(jarファイル)の場所までのフルパスを設定する。

C:\hoge\java\lib\commons-httpclient-3.0-rc1.jar;C:\hoge\java\lib\commons-logging.jar;C:\hoge\java\lib\commons-codec-1.3.jar

CLASSPATH に上記のように設定する。
クラスの依存関係があるのか、commons-httpclient-3.0-rc1.jarのほか、commons-logging.jar、commons-codec-1.3.jar へのパスも設定。

注意点としては、私の環境の場合、ファイル名まで一つ一つフルパスを指定しないとエラーが出ました。
importの書き方とかに問題あるのかな?
Javaはほぼ初心者なので、まだよく分かりません。
上記を設定後、コマンドラインからjavaコマンドで作ったプログラムを実行したら、無事動きました。
以下、参考サイト。

HTTP Client – Overview
DIAVIS at ECL: 014
環境変数をマスターする – [Javaプログラミング]All About
CLASSPATH

スポンサーリンク
 
スポンサーリンク