Skip to content

Instantly share code, notes, and snippets.

@rkmathi
Last active December 28, 2015 18:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rkmathi/7541787 to your computer and use it in GitHub Desktop.
Save rkmathi/7541787 to your computer and use it in GitHub Desktop.
MeCab.jarをScalaで使いたい (on Gentoo)
*** mecab-java-0.996/Makefile 2013-02-18 02:24:16.000000000 +0900
--- ../opt/lib/mecab-java/Makefile 2013-11-19 16:32:57.426941588 +0900
***************
*** 3,9 ****
JAVA=java
JAR=jar
CXX=c++
! INCLUDE=/usr/lib/jvm/java-6-openjdk/include
PACKAGE=org/chasen/mecab
--- 3,9 ----
JAVA=java
JAR=jar
CXX=c++
! INCLUDE=/usr/lib/jvm/oracle-jdk-bin-1.7/include
PACKAGE=org/chasen/mecab
***************
*** 13,21 ****
all:
$(CXX) -O3 -c -fpic $(TARGET)_wrap.cxx $(INC)
$(CXX) -shared $(TARGET)_wrap.o -o lib$(TARGET).so $(LIBS)
! $(JAVAC) $(PACKAGE)/*.java
! $(JAVAC) test.java
! $(JAR) cfv $(TARGET).jar $(PACKAGE)/*.class
test:
env LD_LIBRARY_PATH=. $(JAVA) test
--- 13,21 ----
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
import org.chasen.mecab.Tagger
import org.chasen.mecab.MeCab
object TestScalaMecab extends App {
override
def main(args: Array[String]) {
System.loadLibrary("MeCab");
var tagger = new Tagger()
var str = "本日は晴天なり";
println(tagger.parse(str));
var node = tagger.parseToNode(str);
while(node != null){
println(node.getSurface() + "\t" + node.getFeature());
node = node.getNext();
}
}
}

classpathは$HOME/opt/lib/mecab-javaにする。

$ sudo emerge app-text/mecab

$ cd $HOME/tmp

$ wget https://mecab.googlecode.com/files/mecab-java-0.996.tar.gz

$ tar xvf mecab-java-0.996.tar.gz

$ mv mecab-java-0.996 $HOME/opt/lib/mecab-java

$ cd $HOME/opt/lib/mecab-java

$ patch < $HOME/tmp/Makefile.patch ### oracle-jdkに変更&UTF8化

$ make

$ $HOME/tmp

$ LD_LIBRARY_PATH=$HOME/opt/lib/mecab-java/:$LD_LIBRARY_PATH scala -cp $HOME/opt/lib/mecab-java/MeCab.jar:. mecab-scala.scala
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment