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依次递增。