- PR -

commons-lang使用時のコンパイルエラー

1
投稿者投稿内容
makoto23
会議室デビュー日: 2004/02/23
投稿数: 4
投稿日時: 2005-09-16 14:21
佐藤と申します。
commons-langのstripToEmptyを使うためcommons-lang-2.1.jarをダウンロードし
以下の簡単なプログラムでコンパイルテストを行いました。
なぜ、コンパイルエラーになるのかわかりません。
コンパイルを正常に終わらせるのにはどうすればいいのでしょうか。
ご教授お願いします。
------------------------------------------------------------
import org.apache.commons.lang.StringUtils;
class CommonsTest {
public static void main(String args[]) {
String query;
String rs = stripToEmpty( query );
}
}
--------------------------------------------------------------
javacの実行状況とエラーの内容
--------------------------------------------------------------
C:\jsource>javac -verbose CommonsTest.java
[CommonsTest.java を構文解析開始]
[50ms で構文解析完了]
[ソースファイルの検索パス: [.]]
[クラスファイルの検索パス: [c:\jdk1.5.0_04\jre\lib\rt.jar, c:\jdk1.5.0_04\jre\li
b\jsse.jar, c:\jdk1.5.0_04\jre\lib\jce.jar, c:\jdk1.5.0_04\jre\lib\charsets.jar,
c:\jdk1.5.0_04\jre\lib\ext\commons-lang-2.1.jar, c:\jdk1.5.0_04\jre\lib\ext\dns
ns.jar, c:\jdk1.5.0_04\jre\lib\ext\itext-1.01.jar, c:\jdk1.5.0_04\jre\lib\ext\iT
extAsian.jar, c:\jdk1.5.0_04\jre\lib\ext\jt400.jar, c:\jdk1.5.0_04\jre\lib\ext\l
ocaledata.jar, c:\jdk1.5.0_04\jre\lib\ext\mysql-connector-java-3.1.10-bin.jar, c
:\jdk1.5.0_04\jre\lib\ext\servlet-api.jar, c:\jdk1.5.0_04\jre\lib\ext\sunjce_pro
vider.jar, c:\jdk1.5.0_04\jre\lib\ext\sunpkcs11.jar, .]]
[c:\jdk1.5.0_04\jre\lib\ext\commons-lang-2.1.jar(org/apache/commons/lang/StringU
tils.class) を読み込み中]
[c:\jdk1.5.0_04\jre\lib\rt.jar(java/lang/Object.class) を読み込み中]
[c:\jdk1.5.0_04\jre\lib\rt.jar(java/lang/String.class) を読み込み中]
[CommonsTest を確認中]
CommonsTest.java:6: シンボルを見つけられません。
シンボル: メソッド stripToEmpty(java.lang.String)
場所 : CommonsTest の クラス
String rs = stripToEmpty( query );
^
[合計 290ms]
エラー 1 個
--------------------------------------------------------------------

commons-lang-2.1.jarは%JAVA_HOME%\jre\lib\extに置きました。
環境は
WindowsXP Professional Service Pack2
jdk1.5.0_04
です。


[ メッセージ編集済み 編集者: makoto23 編集日時 2005-09-16 14:41 ]
koe
大ベテラン
会議室デビュー日: 2003/07/13
投稿数: 198
投稿日時: 2005-09-16 15:04
単にimportしても、staticメソッド呼び出し時のクラス名を省略できる訳ではありません。

以下のように書きます、
コード:
String rs = StringUtils.stripToEmpty( query );



または、Java5の新機能、static import を使って以下のようにインポートすれば
正しくコンパイルできます。
コード:
import static org.apache.commons.lang.StringUtils.*;



commons-langというか、Javaの文法の話ですね。
makoto23
会議室デビュー日: 2004/02/23
投稿数: 4
投稿日時: 2005-09-16 15:37
koeさん、ありがとうございました。
指摘されたとおりに変更したらコンパイルできました。
1

スキルアップ/キャリアアップ(JOB@IT)