运行¶
以编译运行examples/Test.java为例。
概念¶
version与aol
version是当前ltp4j的版本号,aol是使用ltp4j机器的`架构-系统-链接器`
在命令行条件下可以用如下命令获得
# get version
version=`egrep '<version>' pom.xml | head -1 | tr -d ' ' | sed 's/<version>//g' | sed 's/<\/version>//g'`
# get aol
aol=`ls target/ltp4j-${version}-*-jni.nar | sed "s/target\/ltp4j-${version}-//g" | sed "s/-jni.nar//g"`
在其他条件下可以根据编译步骤生成的的nar文件进行判断。 具体来讲编译步骤生成的nar文件的格式为`target/ltp4j-${version}-${aol}-jni.jar`。
运行jni的必要条件
- 添加ltp4j.jar到java项目的classpath里
- 添加c++代理程序的路径到java.library.path里
命令行¶
# get version
version=`egrep '<version>' pom.xml | head -1 | tr -d ' ' | sed 's/<version>//g' | sed 's/<\/version>//g'`
# get aol
aol=`ls target/ltp4j-${version}-*-jni.nar | sed "s/target\/ltp4j-${version}-//g" | sed "s/-jni.nar//g"`
# compile
javac -cp "target/ltp4j-${version}.jar" examples/Test.java
# run, specifying java.library.path, Test accept input from stdin
cat examples/example | java -Djava.library.path=target/nar/ltp4j-$version-$aol-jni/lib/$aol/jni/ \
-cp "target/ltp4j-${version}.jar:examples" Test \
--segment-model=ltp_data/cws.model \
--postag-model=ltp_data/pos.model \
--ner-model=ltp_data/ner.model \
--parser-model=ltp_data/parser.model \
--srl-dir=ltp_data/srl/
Eclipse¶
- File -> New -> Java Project, 在Project name处填入ltp4jtest
- 右键examples项目下的src文件夹,在弹出菜单下选择New -> Class,Name处填入Test
- 将examples/Test.java填入Test中
- 右键examples项目下的Properties,
- 选择 Java Build Path
- 选择 Libraries 选项卡
- 选择 Add External JAR... 选择编译出的ltp4j-$version.jar文件 [添加ltp4.jar]
- 点击 > 箭头展开添加的ltp4j-$version.jar,在Native library location中选择C++代理程序的路径 [添加java.library.path]
如图所示: