eclipseããJavaã§MeCabãå©ç¨ããããã«ãã¤ã³ãã£ã³ã°ãè¡ã£ãè¨é²
Javaããå½¢æ
ç´ è§£æã¨ã³ã¸ã³ã§ããMeCabãå©ç¨ãããã¨èã調ã¹ãã¨ãããJavaãã¤ã³ãã£ã³ã°ãåå¨ããã¨ã®ãã¨ã§å°å
¥ãè¡ã£ãã
çµæ§ããããªã¨ããã§ããã£ãã®ã§ãã¡ã¢ã£ã¦ããã
è¨å®ã®éã¯ããã®ãµã¤ããåèã«ããã
Twitterから取得した「つぶやき」を品詞に分解する - 放浪するエンジニアの覚え書き
æé
1. æ¬å®¶ã®ãµã¤ãããMeCab本体ãã¤ã³ã¹ãã¼ã«ããã
2. æ¬å®¶ã®ãµã¤ãããMeCab 用の辞書ããã¦ã³ãã¼ããã解åããã
3. æ¬å®¶ã®ãµã¤ãããJavaバインディングããã¦ã³ãã¼ããã解åããã
4. 解åãããã¡ã¤ã«å ã®Makefileã以ä¸ã®ããã«æ¸ãæãã(ãã¹ãªã©ã®æ¡ä»¶ãåèªç°ãªãã¯ããªã®ã§ãåããã®ãå©ç¨ãã¦ãå®è¡ã§ããªãå¯è½æ§ããã)ã
TARGET=MeCab JAVAC=javac JAVA=java JAR=jar CXX=c++ INCLUDE=/System/Library/Frameworks/JavaVM.framework/Headers PACKAGE=org/chasen/mecab LIBS=`mecab-config --libs` INC=`mecab-config --cflags` -I$(INCLUDE) -I/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/include/darwin all: $(CXX) -O3 -c -fpic $(TARGET)_wrap.cxx $(INC) $(CXX) -shared $(TARGET)_wrap.o -o lib$(TARGET).so $(LIBS) $(JAVAC) $(PACKAGE)/*.java -J-Dfile.encoding=UTF8 $(JAVAC) test.java -J-Dfile.encoding=UTF8 $(JAR) cfv $(TARGET).jar $(PACKAGE)/*.class -J-Dfile.encoding=UTF8: test: env LD_LIBRARY_PATH=. $(JAVA) test clean: rm -fr *.jar *.o *.so *.class $(PACKAGE)/*.class cleanall: rm -fr $(TARGET).java *.cxx
5. Makefileã¨åãé層ã§ãsudo makeããå®è¡ãã
6. ä¸ã®æé ã«ãã£ã¦MeCab.jarã¨libMeCab.soãçæããã
7. MeCab.jarãeclipseã«åãè¾¼ã
â»åè:クラウドサービスプラットフォーム Cosminexus:Eclipse プロジェクトのビルド・パスへライブラリーを追加するには?:ソフトウェア:日立
ããã£ãã¨ãã
以ä¸ã§å°å
¥ã¯å®äºã ããMakefileå
ã®ãINC=`mecab-config --cflags` -I$(INCLUDE) -I$(INCLUDE)/linuxãã®é¨åãã
ãINC=`mecab-config --cflags` -I$(INCLUDE) -I/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/include/darwin
ãã®ããã«å¤æ´ããªããã°makeã§ããªãã£ãã
ããããªãã¨jni.hãã¿ã¤ããã ãjni.h' file not foundãã¨ãã£ãã¨ã©ã¼ãåºãã
ãªã®ã§jdkå
ã®ãjni.hãä¿ç®¡ããã¦ãããã£ã¬ã¯ããªã¨jni_md.hãä¿ç®¡ããã¦ãããã£ã¬ã¯ããªã®ãã¹ãããã«è¨è¼ããå¿
è¦ããããããã
ããã«æ°ã¥ãã®ã«ããªãã®æéãè¦ãããããªãã¨ãæ£å¸¸ã«eclipseããMeCabãå©ç¨ãããã¨ãã§ããããã§ãããã§ããã