天天看點

中科院分詞NLPIR,demo運作初始化失敗問題記錄

NLPIR最新版本下載下傳demo運作時發現出現如下問題:

第一:

Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'E://java//JNI//JnaTest_NLPIR//NLPIR1': Native library (win32-x86/E://java//JNI//JnaTest_NLPIR//NLPIR1.dll) not found in resource path ([file:/E:/WorkSpace/firstWork/JNA/JnaTest_NLPIR/bin/, file:/E:/WorkSpace/firstWork/JNA/JnaTest_NLPIR/lib/jna-4.0.0.jar])

at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:271)

at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398)

at com.sun.jna.Library$Handler.<init>(Library.java:147)

at com.sun.jna.Native.loadLibrary(Native.java:412)

at com.sun.jna.Native.loadLibrary(Native.java:391)

at code.NlpirTest$CLibrary.<clinit>(NlpirTest.java:15)

at code.NlpirTest.main(NlpirTest.java:47)

這個問題是代碼加載dll的時候出現的問題。

1、可能是路徑錯誤,檢查路徑。

2、以下代碼注釋要充分了解

// 定義并初始化接口的靜态變量這一個語句是來加載dll的,注意dll檔案的路徑可以是絕對路徑也可以是相對路徑,隻需要填寫dll的檔案名,不能加字尾。

              CLibrary Instance = (CLibrary)Native.loadLibrary(

                            "E://java//JNI//JnaTest_NLPIR//NLPIR",CLibrary.class);

第二:

在解決了第一個問題後,運作 發現可能會出現“初始化失敗”的問題。

這個問題主要是NLPIR的授權使用問題了,NLPIR.user無效或過期。

要找到有效的NLPIR.user需要到以下位址

https://github.com/NLPIR-team/NLPIR

找License下載下傳到本地,然後替換項目下的Data目錄下的NLPIR.user即可。