【问题标题】:Eclipse not deploying my web app properlyEclipse 未正确部署我的 Web 应用程序
【发布时间】:2013-08-16 02:11:59
【问题描述】:

我正在尝试在 Eclipse Kepler(安装了 m2eclipse)上使用 Maven 创建一个基础 Spring 项目。 Eclipse 没有报告错误,但是当我点击在服务器上运行(或运行 Maven 安装)时,只部署了 META-INF 和 WEB-INF 文件中的原始文件。这不包括我的 dispatcher-servlet.xml 配置文件,因此会导致 FileNotFoundException:

java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml]

我该如何解决这个问题?

这是我的 web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">

    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                /WEB-INF/dispatcher-servlet.xml
            </param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

这是我项目文件夹的屏幕截图:

如您所见,已部署的资源中仅显示选定的文件。

【问题讨论】:

    标签: eclipse spring maven spring-mvc


    【解决方案1】:

    因为它是一个 maven 项目。

    我猜你可能已经将 maven 项目转换为动态 Web 项目。

    按照步骤进行

    1. 转到项目属性(在最后单击人员时右键单击)

    2. 单击/选择左侧的部署程序集

    3. root(/) 部署路径可能指向 src/main/webapp ,选择此项并单击删除按钮

    4. 点击添加按钮,选择指令类型文件夹,选择你的WebContent文件夹

    现在尝试在服务器上清理并运行您的应用程序。

    解决方案 2

    1. 实际上你需要将你所有的WebContent 文件和文件夹复制/放到src/main/webapp

    然后重启你的服务器。

    请注意,maven 动态 web 项目在默认情况下总是查找 src/main/webapp。

    希望对你有帮助

    【讨论】:

    • 这解决了它,但如果我点击 Maven/update 项目,它会恢复到原始配置。另外,我使用 maven webapp 原型创建了这个项目,它不应该创建预期的 web 文件夹结构吗?
    • 因为它是在 webapp archetype 下创建的 maven 。因此,您需要将 WebContent 中的所有文件和文件夹放入 webapp 文件夹。开始编辑并在其中添加新文件本身删除 WebContent 文件夹。还要确保您的 (/) 始终指向 src/main/webapp
    • 谢谢,我会的。
    【解决方案2】:

    在&lt;build&gt; 块中添加&lt;sourceDirectory&gt;src&lt;/sourceDirectory&gt;。

    然后以“全新安装”目标运行 Maven。

    并刷新您的项目。

    现在检查您的目标文件夹。您应该看到 war 文件或 * 扩展文件。 希望能解决

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-19
      • 2020-01-17
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 2020-05-05
      相关资源
      最近更新 更多