几个月前做的一个spring boot小项目,之前新增了功能,今天条件成熟进行测试,报错:
Caused by: java.lang.ClassNotFoundException: net.sf.ezmorph.MorpherRegistry at java.net.URLClassLoader$1.run(URLClassLoader.java:372) ~[na:1.8.0_11] at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.8.0_11] at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_11] at java.net.URLClassLoader.findClass(URLClassLoader.java:360) ~[na:1.8.0_11] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_11] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.8.0_11] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_11]
java.lang.NoClassDefFoundError: Could not initialize class net.sf.json.util.JSONUtils at net.sf.json.JSONObject.fromObject(JSONObject.java:147) ~[json-lib-2.4-jdk15.jar:na] at net.sf.json.JSONObject.fromObject(JSONObject.java:134) ~[json-lib-2.4-jdk15.jar:na] at com.dongze.service.GpsServiceZX.getGPSInfoes(GpsServiceZX.java:104) ~[classes/:na] at com.dongze.task.GPSInfoTask.getInfo(GPSInfoTask.java:24) ~[classes/:na] at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_11] at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_11] at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65) ~[spring-context-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81) [spring-context-4.3.13.RELEASE.jar:4.3.13.RELEASE] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_11] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_11] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_11] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_11] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_11] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_11] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_11]
添加net.sf.ezmorph依赖,继续启动继续报错
Caused by: java.lang.ClassNotFoundException: org.apache.commons.beanutils.DynaBean at java.net.URLClassLoader$1.run(URLClassLoader.java:372) ~[na:1.8.0_11] at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.8.0_11] at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_11] at java.net.URLClassLoader.findClass(URLClassLoader.java:360) ~[na:1.8.0_11] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_11] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.8.0_11] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_11] ... 19 common frames omitted
最终相关依赖如下:
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${commons.lang3}</version> </dependency> <dependency> <groupId>net.sf.ezmorph</groupId> <artifactId>ezmorph</artifactId> <version>${net.sf.ezmorph.version}</version> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>${commons.beanutils.version}</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>${commons.collections}</version> </dependency> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>${json-lib.version}</version> <!-- 两个jdk版本的实现json-lib-2.1-jdk13.jar和json-lib-2.1-jdk15.jar,所以必须指定classifier --> <classifier>jdk15</classifier> </dependency>参考资料http://blog.csdn.net/zenson_g/article/details/8491436等等