Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将SpringWeb项目部署到eclipse内部tomcat服务器。(启动tomcat时java.lang.ClassNotFoundException)_Eclipse_Tomcat_Startup_Classnotfoundexception - Fatal编程技术网

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

无法将SpringWeb项目部署到eclipse内部tomcat服务器。(启动tomcat时java.lang.ClassNotFoundException),eclipse,tomcat,startup,classnotfoundexception,Eclipse,Tomcat,Startup,Classnotfoundexception,当我使用外部tomcat时,一切都很好。但我需要在内部EclipseTomcat服务器上部署我的项目,以便能够使用DCEVM类热交换。 当我试图从eclipse中启动tomcat服务器时,它说它无法找到我在spring安全配置文件中提到的作为bean的服务类。 我还试图将该项目添加到tomcat类路径中,但没有解决我的问题 更新 我发现问题是因为当我将web项目部署到eclipse tomcat服务器时,没有.class被复制到: C:\Users\Meysam\workspace\.metad

当我使用外部tomcat时,一切都很好。但我需要在内部EclipseTomcat服务器上部署我的项目,以便能够使用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插件可能有问题。我不知道是什么

顺便说一句,我正在使用Eclipse4.3

已解决

我通过以下步骤解决了这个问题:

  • 在eclipse>properties>ProjectFacets中右键单击project
  • 在右侧面板中选择runtimes并选择目标服务器。申请并确认
  • 在“服务器模块”列表中,右键单击“项目模块”,然后单击“清理模块工作目录”
  • 右键单击服务器本身,您可以依次清理服务器和tomcat工作目录
  • 如果不起作用,请尝试project>clean,并在project菜单项下切换“自动生成”选项

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

    [复制到应答部分]

    我通过以下步骤解决了这个问题:

  • 在eclipse>properties>ProjectFacets中右键单击project
  • 在右侧面板中选择runtimes并选择目标服务器。申请 好的
  • 在服务器模块列表中
  • 右键单击项目模块,然后单击 单击“清理模块工作目录”,右键单击服务器本身 您可以一个接一个地清理服务器和tomcat工作目录 另一个
  • 如果不起作用,请尝试project>clean并切换 项目下的“自动生成”选项

  • 就这样。tomcat现在将所有.class文件复制到目标服务器,当tomcat启动时,您不会看到ClassNotFound异常。

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

    我在将Web Dynamic project转换为Maven project时遇到了相同的问题

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


    更改为
    source=target/classes

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

    谢谢!这对我很有效。但是我很好奇是否有人知道为什么默认情况下项目不会有此配置。我使用了Eclipse f这是我第一次听说“Project Facets”配置页面。这是我第一次使用Eclipse的Spring版本,所以可能这就是我遇到这个问题的原因。你提到了“服务器模块列表和项目模块”。你能告诉我它在哪里吗?