Javaと和布蕪
Ubuntuで,久しぶりに和布蕪とjavaのバインディングをしようとしてハマってしまった.
mecab-java-0.96 は以下のようにコンパイルし MeCab?.jar を生成
mecab-java-0.96/Makefile は 6 行目を修正のこと
INCLUDE=/usr/lib/j2se/1.4/include
ソースはこれ. こういうエラーや
javac -encoding utf-8 -classpath Mecab/mecab-java-0.96/MeCab.jar MyMecab.java MeCab.java:3: シンボルを見つけられません。 シンボル: クラス Tagger 場所 : MeCab の クラス private Tagger tagger; ^ MeCab.java:8: シンボルを見つけられません。 シンボル: クラス Tagger 場所 : MeCab の クラス tagger = new Tagger(); ^ MeCab.java:26: シンボルを見つけられません。 シンボル: クラス Node 場所 : MeCab の クラス ... エラー 3 個
こういうエラー
#java -classpath Mecab/mecab-java-0.96/MeCab.jar:. MyMecab Cannot load the example native code. Make sure your LD_LIBRARY_PATH contains '.' java.lang.UnsatisfiedLinkError: no MeCab in java.library.path
を連発してしまった.もっとも,これはFedoraでも経験していた.
まずクラスパスをしっかり設定しておかなければいかん.
export LD_LIBRARY_PATH=Mecab/mecab-java-0.96:$LD_LIBRARY_PATH
で,ソースを書いたら,
javac -classpath progSource/Mecab/mecab-java-0.96/MeCab?.jar:. MyMecab?.java
実行は
java -classpath progSource/Mecab/mecab-java-0.96/MeCab?.jar:. MyMecab?
あるいはCLASPATHを明示的に指定して
$ export CLASSPATH=/MeCab/mecab-java-0.96/MeCab.jar:. $ java MyMecab
Link: Programming(5180d)
日録2008_1月(6124d)
Prog_Mecab(6242d)
Last-modified: 2008-01-20 (日) 16:25:14 (6136d)