Javaと和布蕪 の変更点 - アールメカブ

アールメカブ


Javaと和布蕪 の変更点


[[Programming]]

Ubuntuで,久しぶりに和布蕪とjavaのバインディングをしようとしてハマってしまった.

mecab-java-0.96 は以下のようにコンパイルし MeCab.jar を生成

mecab-java-0.96/Makefile は 6 行目を修正のこと
 INCLUDE=/usr/lib/j2se/1.4/include



[[ソースはこれ>Prog_Mecab#q4d5eaa8]].
こういうエラーや
 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