畢業設計是做一個中文的XML信息檢索系統。當時選題的時候真的是不知道天高地厚,選了這么一個難題,但是畢竟已經選了,那就不要畏縮了!查閱了信息檢索的相關資料后,遇到了一個很棘手的問題——中文如何分詞?這是個大問題,不知道如何入手。于是查查資料看看有沒有現成中文分詞系統拿來用,這一找就找到了中科院的ICTCLAS。網上已經有很多的已經封裝好了的ICTCLAS.dll,由于畢設打算用Java技術打造一個系統原型,那就需要通過JNI技術來調用ICTCLAS.dll。其實這也已經有人做好了,但是,我還是想知道JNI的個什么樣的東西,還想知道如何正確的使用這個技術。
已經習慣了從Hello World開始。
我使用的是JDK_1.6.0和Visual studio 2005,使用Visual studio 2005生成可供Java調用的dll需要做以下設置:
在Visual studio 2005的菜單Tools\options\Projects and Solutions\VC++ Directories,添加JDK安裝目錄下inlcude和include/win32目錄,如下圖所示

編寫帶有native聲明的方法的java類,代碼如下

然后在命令行輸入Javac JniTest.java編譯JniTest.java
生成JniTest.class文件后,再使用javah JniTest生成JniTest.h,代碼如下

在Visual studio 2005里新建項目Win32 project,在彈出的對話框中點擊application setting,然后再選上dll和Empty project。 接著在項目中添加JniTest.h和JniTest.cpp,JniTest.cpp代碼如下:

編譯生成JniTest.dll,在項目下找到它,并拷貝到JniTest.java所在的目錄,最后編寫測試程序Test.java,如下:

最后終于看到了期待的Hello World!