【问题标题】:Unable to deploy my spring web project to eclipse internal tomcat server.(java.lang.ClassNotFoundException on tomcat startup)无法将我的 Spring Web 项目部署到 Eclipse 内部 tomcat 服务器。(tomcat 启动时的 java.lang.ClassNotFoundException)
【发布时间】:2014-03-18 05:51:08
【问题描述】:

当我使用外部 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. 右键点击服务器本身,可以依次清理服务器和tomcat工作目录
  5. 如果这不起作用,请尝试 project > clean 并在项目菜单项下切换“自动构建”选项。

就是这样。 tomcat 现在将所有 .class 文件复制到目标服务器,并且在 tomcat 启动时您没有看到 ClassNotFound 异常。

【问题讨论】:

    标签: eclipse tomcat startup classnotfoundexception


    【解决方案1】:

    [复制到答案部分]

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

    1. 在 Eclipse 中右键单击项目 > 属性 > 项目方面
    2. 在右侧面板中选择运行时并选择您的目标服务器。申请 好的。
    3. 在服务器模块列表中
    4. 右键单击项目模块并 单击清理模块工作目录右键单击服务器本身 然后你可以清理服务器和tomcat工作目录 另一个
    5. 如果这不起作用,请尝试 project > clean 并切换 项目下的“自动构建”选项

    就是这样。 tomcat 现在将所有 .class 文件复制到目标服务器,并且在 tomcat 启动时您没有看到 ClassNotFound 异常。

    【讨论】:

    • 谢谢!这对我有用。但是,我很好奇是否有人知道为什么项目默认情况下没有此配置。我使用 Eclipse 已经十多年了,这还是我第一次听说“Project Facets”配置页面。这是我第一次使用 Spring 版本的 Eclipse,所以也许这就是我遇到这个问题的原因。
    • 您提到了“服务器模块列表和项目模块”。你能告诉我它的位置吗?
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        我在属性->部署组件->右侧面板中发现错误。 有source=src folderdeploy path=WEB-INF/classes。 Eclipse 找不到类。

        更改为source=target/classes

        【讨论】:

          猜你喜欢
          • 2021-11-16
          • 2015-10-20
          • 1970-01-01
          • 2016-06-13
          • 1970-01-01
          • 1970-01-01
          • 2011-01-14
          • 2021-10-26
          • 1970-01-01
          相关资源
          最近更新 更多