异常 java.lang.NoClassDefFoundError:
com/fasterxml/jackson/core/JsonProcessingException
当时根据网上的博客来架构ssm项目出现了这个异常,问题原因是少了jackson的jar所导致,在pom.xml中加上
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.1.0</version>
</dependency>
这几个包即可
``
之后启动tomcat时又报
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL
这分为几种情况:
第一 可能是web.xml配置spring监听器 错误
第二 就是你碰到的少了spring 包
第三 把其他无关项目都关闭 tomcat下也删除
如果少了 spring.web 的jar包
以上的问题都不是
那么参考下面的方法
Java虚拟机是根据Java ClassLoader(类加载器)决定如何加载Class。
系统默认提供了3个ClassLoader
Root ClassLoader,ClassPath Loader,Ext ClassLoader
我们也可以编写自己的ClassLoader,去加载特定环境下的Jar文件。
能不能加载Jar,加载哪里的Jar,是由ClassLoader决定的。
楼主的问题可能是 导入的仅仅是jar包的引用,例如在eclipse中通过build path加进user lib……(类似快捷方式)
这种在Java Application中没问题,但在web Application中可能会出现找不到类的异常。
在WEB Application中jar包最好放在webroot或webcontent下的lib文件夹内,特别是xml中用到的jar包
“`
maven项目的话可能是tomcat在发布项目的时候没有同时发布maven依赖所添加的jar包
解决办法:
项目 —> 属性 -> Deployment Assembly -> Add -> Java Build Path Entries -> 选择Maven Dependencies -> Finish -> OK
把对应的Maven依赖包也发布到tomcat,调试时会自动把那些jar发布到指定目录下,tomcat也能找到那些jar了。
总之我就是用上面的方法解决了 ssm项目整合中遇到的问题