- 追加された行はこの色です。
- 削除された行はこの色です。
[[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