无法将我的spring web项目部署到eclipse内部tomcat服务器。(tomcat启动时java.lang.ClassNotFoundException)

时间:2014-02-18 12:50:25

标签: eclipse tomcat startup classnotfoundexception

当我使用外部tomcat时,一切都很好。但我需要在内部eclipse tomcat服务器上部署我的项目,以便能够使用DCEVM类热交换。 当我尝试从eclipse中启动tomcat服务器时,它说它无法在我的spring安全配置文件中找到我提到的一个服务类作为bean。 我还尝试将项目添加到tomcat类路径,但它没有解决我的问题。

更新

我发现问题是因为当我将我的web项目部署到eclipse tomcat服务器时,没有.class被复制到:

C:\Users\Meysam\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\villapweb\WEB-INF\classes

实际上,这个文件夹包含我的src / java / main包结构,但没有复制.class。

lib文件夹虽然很好(例如maven和其他东西的所有依赖项都在它应该的路径中复制)

我认为m2e-wtp插件可能有问题。我不知道是什么!

我正在使用eclipse 4.3 BTW。

解决

我按照以下步骤解决了这个问题:

  1. 右键点击eclipse中的项目>属性>项目方面
  2. 右侧面板中的
  3. 选择运行时并选择目标服务器。申请并确定。
  4. 在服务器模块列表中右键单击项目模块,然后单击“清理模块工作目录”
  5. 右键单击服务器本身,您可以一个接一个地清理服务器和tomcat工作目录
  6. 如果不起作用,请尝试项目>清理并在项目菜单项下切换“自动构建”选项。
  7. 多数民众赞成。 tomcat现在将所有.class文件复制到目标服务器,并且在tomcat启动时看不到ClassNotFound异常。

4 个答案:

答案 0 :(得分:8)

[复制到答案部分]

我按照以下步骤解决了这个问题:

  1. 右键点击eclipse中的项目>属性>项目方面
  2. 右侧面板中的
  3. 选择运行时并选择目标服务器。应用 好的。
  4. 在服务器模块列表中
  5. 右键单击项目模块和 单击清理模块工作目录右键单击服务器本身 然后你可以清理服务器和tomcat工作目录 另一
  6. 如果这不起作用,请尝试项目>干净,也切换 "自动构建"项目下的选项
  7. 多数民众赞成。 tomcat现在将所有.class文件复制到目标服务器,并且在tomcat启动时看不到ClassNotFound异常。

答案 1 :(得分:1)

我已经按照答案中的步骤进行了操作,但它仍然不适合我,因此,除了执行这些步骤之外,我还发现在完成这些步骤后对目标进行刷新clean install会自动触发"重新发布"服务器上的状态,因此当服务器执行时,编译的类的所有更改(新类和对现有类的更改)将在服务器启动时复制到wtpwebapps。

答案 2 :(得分:1)

我遇到了几乎相同的问题 - 我的一个项目没有进入部署区域(它的jar)。我做的是1)从tomcat中删除应用程序2)干净的tomcat工作目录3)最重要的:项目 - 清理 - 全部。然后我再次添加了应用程序......问题解决了

答案 3 :(得分:0)

我在转换为Maven项目的Web动态项目中遇到了同样的问题。

我在属性中找到了错误 - >部署程序集 - >右侧面板。 有source=src folderdeploy path=WEB-INF/classes。 Eclipse无法找到类。

已更改为source=target/classes