java.lang.NoClassDefFoundError: net/sf/json/JSONArray之使用net.sf.json-lib这个jar包依赖仍存在的异常问题的处理方法

java.lang.NoClassDefFoundError: net/sf/json/JSONArray之使用net.sf.json-lib这个jar包依赖企图将Object或List集合等数据类型转换成json数组的格式,所导致的仍存在的异常问题的处理方法

网上找解决方案,找了半天,有的说是手动导jar包web/lib目录下,关键是我这是java项目,不是web项目,没有lib目录,难道要手动建立一个lib目录?不要逗我,项目也可能不认这个lib目录啊,后来,不知怎地,竟然选择重启了项目,问题解决了!要不,我还一脸懵逼纳闷,在百度傻傻的找其他解决方案呢,实在不行,就不用这个转换方案了,换其他的!其实还挺好用的!!!

解决方案



第一步:在pom.xml文件中引入相关依赖:注意:需要指明jdk版本号(必须,必须,必须),分为13,15,最好用15,考虑兼容性。

<dependency>
			<groupId>net.sf.json-lib</groupId>
			<artifactId>json-lib</artifactId>
			<version>2.4</version>
			<classifier>jdk15</classifier>
</dependency>

**还有异常,请看第二步;**

第二步:如果发现Eclipse中已经导入了依赖,还是报异常,那么最好将与其相关的(另外5个)所有jar包依赖一并导
进去,如下所示(这些都是编译时要用到的jar包依赖):

<dependency>
    <groupId>commons-beanutils</groupId>
    <artifactId>commons-beanutils</artifactId>
    <version>1.9.4</version>
</dependency>

<dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>3.2.2</version>
</dependency>

<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>

<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.2</version>
</dependency>

<dependency>
    <groupId>net.sf.ezmorph</groupId>
    <artifactId>ezmorph</artifactId>
    <version>1.0.6</version>
</dependency>	

**还有异常,请看第三步;**

第三步:如果发现Eclipse中已经导入了全部相关依赖,还是报异常,那么问题来了,就是你没有选择重启项目或应用,
总想着pom.xml自动更新 新引入的依赖,并下载相关jar包,不要被迷糊了,可能这个依赖有些独特,需要亲自动手处
理一下(重启一下项目而已),这个时候你会发现,异常不再有,very nice!!!后来我尝试了下,将后来添加的依赖都
去掉,依旧可以使用,不报异常,我才明白是自己没有选择重新更新项目而已,仅此而已,简单粗暴!


发布了32 篇原创文章 · 获赞 1 · 访问量 2820

猜你喜欢

转载自blog.csdn.net/YOUAREHANDSOME/article/details/105401641