您的位置:首页 > 编程语言 > Java开发

java(优化15) 报错"java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher"解决方案

2016-07-28 11:43 465 查看

一、 测试类

public static void main(String[] args) {
String str="{\"value\":\"我是测试value值\"}";
//String -->json
net.sf.json.JSONObject json=net.sf.json.JSONObject.fromObject(str);
System.out.println("String-->json结果="+json);

//String -->Map 或 json -->map
net.sf.json.JSONObject jsonObj = net.sf.json.JSONObject.fromObject(str);
Map<String, String> map =(Map<String, String>)jsonObj;
System.out.println("String-->map结果="+map.toString());

}

代码执行之后,控制台报如下错误信息:
Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
at com.study.dang.test.base.TestString5.main(TestString5.java:14)
Caused by: java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 1 more

二、解决办法

原因分析:
使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,
还必须有其它几个依赖包:
commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph.jar,morph-1.0.1.jar 这几个包也是需要导入的.
如果缺少里面的:ezmorph.jar包,则即出现上述异常。
 

解决办法:
在pom.xml中添加依赖:
<dependency>
<groupId>net.sf.ezmorph</groupId>
<artifactId>ezmorph</artifactId>
<version>1.0.6</version>
</dependency>
当jar生效(成功导入)后,再次执行main方法,一切正常了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java