美文网首页
Ubunt下java版本的CRF++的配置

Ubunt下java版本的CRF++的配置

作者: 御风之星 | 来源:发表于2017-09-06 11:17 被阅读0次

    【错误1】c++-O3-c-fpicCRFPP_wrap.cxx-I/usr/local/jdk/include-I/usr/local/jdk/include/linux

    CRFPP_wrap.cxx:159:17: fatal error: jni.h: 没有那个文件或目录

    #include<jni.h>

                      ^

    compilation terminated.

    make:***[all]错误 1

    解决方法:修改makefile中的jdk位置,即以我的为例,INCLUDE=/usr/lib/jvm/java8/include,让一会的make命令可以找到jni.h这个文件,修改完成之后,make。

    【错误2】java.lang.UnsatisfiedLinkError:no  CRFPP in java.library.path

    解决方法:1.设定环境变量。

    比如:所编辑的Dll在目录“D:/cppProjects/nativecode/release”内,将这个路径复制添加到电脑的环境变量中的path变量内即可。

    2.设定项目属性。(开发推荐)

    右击项目名|选择属性properties|在左边列表内选择“JavaBuild Path”|在右边选项卡用选择“source”|点开项目名前的“+”号,选择“Native library location”,“Edit”选择上面“D:/cppProjects/nativecode/release”路径。(当然如果将dll拷贝到workspace下也可以用相对路径。也可右击“src”设定其properties内Native Library项。)

    【错误3】:Exception in thread "main" java.lang.RuntimeException: feature_index.cpp(193) [mmap_.open(model_filename)] mmap.h(153) [(fd = ::open(filename, flag | O_BINARY)) >= 0] open failed: home/di/eclipseWorkspace/AnaphoraResolution/src/cn/edu/fudan/crf/model

    at org.chasen.crfpp.CRFPPJNI.new_Tagger(Native Method)

    at org.chasen.crfpp.Tagger.(Tagger.java:183)

    解决方法:遇到上述错误只需将Tagger tagger = new Tagger("-m ../model -v 3 -n2");中的相对路径改为绝对路径即可。

    相关文章

      网友评论

          本文标题:Ubunt下java版本的CRF++的配置

          本文链接:https://www.haomeiwen.com/subject/qqvmjxtx.html