关于java.lang.NoClassDefFoundError的问题网上的答案也是五花八门,本次的问题所在是:在一台新的电脑上面部署自己完整的项目时出现错误。
1、背景
本项目调用了c++的动态链接库dll文件,也就是核心算法用的c++实现的,java只是负责调用dll文件的接口,加载dll文件,实现要展示的内容。
2、问题分析
将自己的java项目打包成.war文件,部署到Tomcat服务器后,程序能够在网页中展示,但是点击需要调用dll文件的功能时出现错误“java.lang.NoClassDefFoundError”。
3、解决方案
1.程序需要dll文件,dll文件是你利用visual studio 生成的文件,将文件拷贝到新电脑的jdk安装位置的bin目录下。
2.如果问题依旧存在,那么就是新的电脑中缺少c++运行库,安装后即可,当时我安装的是Visual C++ 2013 运行库(vc2013),根据需求下载相应的运行库即可。
3.运行程序,完美解决。