12

我正在使用 Spring Tool Suite 3.1,但在将 Web 应用程序部署到 tomcat 时遇到了一些问题。

当我点击“在服务器上运行”并启动服务器时,它会抛出著名的:

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

所以我检查/wtpwebapps目录发现项目已部署,但在lib文件夹内只有几个库存在。我完全想念他们选择背后的理由。当然没有与spring相关的库。任何人都可以帮忙吗?

这是我的org.eclipse.wst.common.commonent文件,也许有用:

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="Checkup">
    <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
    <wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/resources"/>
    <property name="context-root" value="Checkup"/>
    <property name="java-output-path" value="/Checkup/build/classes"/>
</wb-module>

编辑:

您可以看到嵌入 STS 安装的 maven 插件列表(无自定义)

STS Maven 插件

4

4 回答 4

35

通过右键单击项目 - 导航到部署程序集,然后添加 maven 依赖项库,将 maven 依赖项添加到部署程序集。

于 2012-10-17T10:16:00.513 回答
17

经过数小时的痛苦后,似乎借助魔术或其他东西解决了问题。解决问题的“神秘”程序如下:

  1. 在tomcat上运行你的项目并得到错误
  2. 当您的项目仍在服务器上时,清理 tomcat rclick ---> 清理(不是清理工作目录)
  3. 再次运行服务器

棘手的部分是在仍然部署 Web 应用程序时清理 tomcat。我真的不知道为什么它有效。如果您停止服务器,删除应用程序,清理服务器并再次重新部署应用程序,您会收到错误消息。我不敢再了解了,我接受了这个谜。

于 2012-10-25T09:32:49.567 回答
2

NimChimpsky 的回答对我来说是正确的解决方案。只是它不是很具体。详细步骤是:右键项目->选择“属性”->搜索“部署程序集”->点击“添加”按钮->添加“Maven Dependent”

于 2018-02-13T23:34:34.283 回答
1

解决此问题的另一种方法是使用终端(Linux 或 Mac)或命令提示符 (Windows)。导航到项目的文件夹并使用以下命令:

mvn eclipse:eclipse -Dwtpversion=2.0

成功执行命令后,将在项目的.settings文件夹中创建一个名为org.eclipse.wst.common.component的新文件。

启动服务器,它应该会自动选择所有依赖库。

于 2018-08-07T22:34:05.163 回答