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

一、 测试类

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 map =(Map)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中添加依赖:

	net.sf.ezmorph
	ezmorph
	1.0.6
当jar生效(成功导入)后,再次执行main方法,一切正常了。

你可能感兴趣的:(java后台-java优化,java)