Eclipse在Tomcat环境下运行项目出现NoClassDefFoundError/ClassNotFoundException解决办法

For this error, there can be different solutions. I have noted down the ones that had worked for me.

Solution 1. This is always happened in deployment and debugging environment. In deployment environment, just make sure your server classpath has included the Spring jar library (e.g spring-4.0.4.jar).

In debugging environment, the steps may vary from different IDE, but the solution is same. In Eclipse, developers usually will create a tomcat, jboss…whatever application server for debugging, just make sure the correct Spring jars are included.

  1. Double click on your debugging server
  2. Click on the “Open launch configuration” to access the server environment
  3. Click on the classpath tab
  4. Include the Spring jar file here , it may also required common log jar due to Spring dependency.
  5. Done, run your application again.

.

Solution 2. If you are using Maven as a build tool and downloading dependencies using it, there can be some jar conflict. Because Tomcat servers normally provide some jars such as servlet-api and jpa-api. So if you again included them using maven; there will be problems in identifying them.

Solution 3. If you are using Eclipse as your IDE and using Maven as your build tool and tomcat as your server; remember Tomcat server will not look on the jars which are just inside the folders. For that there‘s a small trick,

  1. Right click on your project and select properties
  2. From the displayed window, select Deployment Assembly
  3. Select Add
  4. Add Maven dependencies
  5. Click Apply and Click OK

Hope one of these solutions would help you to solve your problem. Happy Coding and make sure that is using Java.

原文地址:https://stackoverflow.com/questions/15989325/java-lang-noclassdeffounderror-org-springframework-context-applicationcontext/22746332#22746332

时间: 2024-10-07 05:29:52

Eclipse在Tomcat环境下运行项目出现NoClassDefFoundError/ClassNotFoundException解决办法的相关文章

Windows 环境下adb.exe无法启动的解决办法之一

应用Eclipse开发安卓,更换工作空间之后会出现adb.exe无法启动的情况,其原因尚不明,但是经查阅资料找到了其解决办法之一,现在叙述如下. 操作步骤: 1:wir+R键进入Dos窗口下,切换到adb.exe文件所在的路径下面 Dos下面进入别的盘的命令:“盘符:”如进入D盘就输入“D:”(大写小写都可以): 在同一个盘符下面的文件之间的切换就可以类似于linux下面的操作 “cd 目录” 在dos环境下面操作dir命令会列出该目录下面的所有文件 同样的类似于Linux可以使用Tab键进行自

Linux环境下RPM包相互依赖的解决办法

Linux环境下安装Oracle11gR2提示缺少"Package: elfutils-libelf-devel-0.125    FAILED"包,按照提示安装该包时又提示缺少依赖包"elfutils-libelf-devel-static-x86_64",而安装依赖包时又提示缺少原有的包,形成了相互依赖的关系. [[email protected]_plat rpms]# rpm -ivh elfutils-libelf-devel-0.137-3.el5.x8

IDEA15 下运行Scala遇到问题以及解决办法

为了让Scala运行起来还是很麻烦,为了大家方便,还是记录下来: 1.首先我下载的是IDEA的社区版本,版本号为15. 2.下载安装scala插件: 2.1 进入设置菜单. 2.2 点击安装JetBrains plugin 2.3 输入scala查询插件,点击安装 说明:我的IDEA已经安装,所以这里面没有显示出来安装按钮,否则右边有显示绿色按钮. 3.新建Scala工程 3.1 新建工程 通过菜单:File---->New Project 选择Scala工程. 并且设置项目基本信息,如下图:

spark-sql用hive表格,在yarn-cluster模式下运行遇到的问题及解决办法

1.编程时无法加载hive包,需要在编译好的spark(用spark-shell启动,用spark-sql能够直接访问hive表)的lib目录下,考出assembly包,为其创建一个maven的repository,然后添加到dependency里面.最笨的创建repository的办法就是直接创建相应路径,然后把spark-core里面的.pom修改一下target里面的名称,直接copy. 2.用yarn-cluster提交时,遇到:spark sql java.lang.RuntimeEx

kali linux下运行.sh文件权限不够解决办法

我要装一个生成免杀的神奇,系统提示权限不够 2 于是我想到了sudo,可还是不行 3 于是找到了方法 chmod   a+x   文件名 4 再运行一下,成功 5 有时有的方法很简答,只要你愿意找. 原文地址:https://www.cnblogs.com/wjw-zm/p/11741375.html

LNMP环境下WordPress 502 Bad Gateway nginx解决办法

方法一:修改libsqlite3.so.0.8.6 32位: mv /usr/lib/libsqlite3.so.0.8.6 /usr/lib/libsqlite3.so.0.8.6.bak 64位: mv /usr/lib64/libsqlite3.so.0.8.6 /usr/lib64/libsqlite3.so.0.8.6.bak 方法二:升级PHP版本到最新版 升级教程:http://www.vpser.net/manage/lnmp-upgrade-php-script.html

idea 运行项目总是内存溢出解决办法

添加配置 -Xms256m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m

Linux环境下快速项目部署

由于Linux和Java一样开源,所以现在在服务器的部署上基本上都是采用Linux平台作为服务器,然后部署项目!在开发项目的过程中,绝大部分程序猿还是使用最经典的windows操作系统,虽然Linux也有桌面化的系统,对于国人来说,还是不太习惯,并且国内的软件绝大部分都不支持Linux平台,所以在使用的频率那是相当的少! 在开发中,开发环境中编译使用等一系列通过后,还不能说功能已经ok,因为环境一旦变化,出现的问题的可能是自己没有考虑的,所以程序猿都知道真实的环境才是最可靠的,有时候出现的问题,

Sublime Text3配置在可交互环境下运行python快捷键

安装插件 在Sublime Text3下面写代码感觉很不错,但是写Python的时候遇到了一些问题. 用Sublime Text3打开python文件,或者在Sublime Text3下写好python代码,使用快捷键ctrl+b就可以运行了,会在当前窗口的下方出现运行的结果.比如 print("hello world!") 但是,要是使用了input这类需要交互的函数,ctrl+b运行就会出现错误 print("hello world!") x = input(&