1.環境介紹
【sdk版本】CH-HCNetSDKV6.0.2.10_build20190117_Win64
注意:此處使用的64位的SDK(可以根據個人開發情況選擇32位的),一定要使用匹配的jdk是64位的,否則一直都是白忙活;
具體的下載地址:
https://www.hikvision.com/Cn/download_more_401.html#prettyPhoto
【IDE】使用Eclipse 4.8
【jdk】
需要復制dll文件,復制之后的目錄如下:
2.bug1--jdk不匹配
在運行程序時報錯:
Exception in thread "main" java.lang.UnsupportedClassVersionError: ClientDemo/ClientDemo : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
【問題原因】
由於本人開發的需要在開發環境中安裝了兩個jdk 1.7 32bit和jdk1.8 64bit
此處環境變量中配置使用的jdk1.8 64bit,在Import 導入項目的時候系統默認是jdk1.7 32bit;
需要修改項目的jre運行環境為jdk1.8 64bit;
【解決方法】
下面紅框在之前的jre1.7,修改為jdk1.8 64bit即可。
修改步驟:項目/Properties/Java Build Path
刪除之前的jre1.7 ,替換為jdk1.8即可,如果不知道怎么替換的可以查找網上的博客文章有很多。
3.bug2--運行中文顯示亂碼
【問題描述】運行界面中文顯示亂碼,很顯然是代碼的編碼問題,原先的是UTF-8,Eclipse默認是GBK;
【問題解決】項目/Properties/Resource
運行之后的軟件界面:
4.BUG3-JRE問題
Unbound classpath container: 'JRE System Library [JavaSE-1.8]' in project 'ClientDemo-NetBeansPro'
【問題解決】
重新配置jre即可
5.說明
其實在開始的時候一直嘗試使用netbeans64.exe打開項目,因為sdk中說明該sdk源碼是使用netbeanIDE 6.7。
而netbeanIDE 6.7需要安裝jdk1.5 或者是1.6。但是想的是肯定向下兼容,選擇了netbeans64.exe。
開始一直遇到一個問題:加載類庫有問題,根據各種方法修改,之后還是這個問題。估計還是netbeanIDE的版本和jdk的問題。最后還是換了Eclipse試了,遇到了上面的問題,做了記錄。
java.lang.UnsatisfiedLinkError: Unable to load library 'PlayCtrl': ÕҲ»µ½ָ¶¨ at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:145) at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:188) at com.sun.jna.Library$Handler.<init>(Library.java:123) at com.sun.jna.Native.loadLibrary(Native.java:255) at com.sun.jna.Native.loadLibrary(Native.java:241) at ClientDemo.PlayCtrl.<clinit>(HCNetSDK.java:3069) at ClientDemo.ClientDemo.<clinit>(ClientDemo.java:67) Exception in thread "main" XXX\HCDemo\nbproject\build-impl.xml:1040: The following error occurred while executing this line: XXX\HCDemo\nbproject\HCDemo\nbproject\build-impl.xml:805: Java returned: 1 BUILD FAILED (total time: 1 second)
【參考博客】
【1】https://blog.csdn.net/qq_32791023/article/details/79896364
【2】https://blog.csdn.net/peihexian/article/details/78709624
【3】https://www.cnblogs.com/qtblog/p/5366276.html
【4】https://blog.csdn.net/qq_32791023/article/details/79896364
6.海康NVR注冊
執行NVR注冊前提是該設備已經被注銷,雙擊NVR設備按鈕執行注冊事件;
注冊返回的用戶ID依次遞增。