当前服务器环境:win10 64位 jdk 1.8 64位,tomcat 7;
项目需求: 新增算法文件 xxxx.dll
报错 :JNative library not loaded, sorry !
第一个问题:
今天用java来调C++的dll总是出现JNative library not loaded, sorry !
在网上看了很多资料大多都是说要把 JNative 的dll和要用的dll拷到system32目录下,可是我照做了还是错。
我用的是win10 64位,jdk也是64位的,最后把jdk版本改为32位的,就没有报这个错了
第二个问题: 重新安装jdk 1.8 32(X86)位
考虑两个问题,在安装完成之后查看你自己安装的jdk 目录中
查看你自己安装的jre目录中同样会有一个文件是一样的情况,后缀为pack ,这是错误的。
因为这是解决了我的问题之后记录的,这里的一个错误提示就不起记得的,但是可以jdk 和jre 的bin 目录下分别查询对应的java -version
哪个不能显示出jdk 版本,那么就是那个的问题,需要去对应的lib 目录下找,cmd 窗口也会给你提示一个错误,一样去百度里面找答案。
如果上述情况中都没有出现,但是在配置好了环境变量之后,桌面cmd查询jdk版本还是不能显示,弹出一个错误的窗口
无法启动此程序,因为计算机中丢失api-ms-win-crt-stdio-11-1-0.dll.尝试重新安装该程序以解决此问题
这里需要是说出现这个问题是因为本地api-ms-win-crt-runtime-l1-1-0.dll 版本过低或者不存在。
Visual C++ Redistributable for Visual Studio 2015 安装包的官方下载地址:
https://www.microsoft.com/zh-cn/download/details.aspx?id=48145
这里是原文链接里面都有具体的操作过程
https://jingyan.baidu.com/article/ab0b5630480f6dc15afa7dff.html
安装好了这个之后,查看jdk 版本没有问题,但是在启动tomcat 时,还是出现闪退情况。
这里需要在我们tomcat 的内部更改jdk的默认选择。下面是原文操作链接。
https://jingyan.baidu.com/article/c910274b525db7cd361d2dc9.html
另外, 在使用了 jdk 1.8 32位之后,,不要在设置AES的加密规范就可以直接使用256加密!!