0

请注意,这已通过清除 intelliJ 中的缓存解决。所有代码都是正确的,只是在 IDE 中缓存了一个无效状态。


这真让我抓狂。我们正在使用 struts 1,仅供参考。

我的 struts 配置文件称为 struts-config-mexp.xml。我已将 web.xml 配置为指向 WEB-INF/struts 目录中的文件,如下所示:

<servlet>
    <servlet-name>ServicesManagerServlet</servlet-name>
    <servlet-class>com.pronto.common.manager.ServicesManagerServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<!-- Standard Action Servlet Configuration (with debugging) -->
<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
        <param-name>config</param-name>
        <param-value>/WEB-INF/struts/struts-config-mexp.xml</param-value>
    </init-param>
    <init-param>
        <param-name>debug</param-name>
        <param-value>2</param-value>
    </init-param>
    <init-param>
        <param-name>detail</param-name>
        <param-value>2</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>

该文件肯定在 WEB-INF 下的 struts 目录中。这是目录结构的一部分:

src/
  main/
    java/
    resources/
    webroot/
      WEB-INF/
        struts/
          struts-config-mexp.xml
        web.xml

我已经尝试将文件移动到其他位置(并更改 web.xml 中的位置),例如,在 src/main/resources 中,但无论我把它放在哪里,我都会失败。

16:35:13,856  INFO ContextLoader:301 - Root WebApplicationContext: initialization completed in 976 ms
16:35:13,859  INFO GlobalRootManager:85 - Entering initialization
16:35:14,095  INFO GlobalRootManager:85 - Exiting initialization
16:35:14,104  INFO FileUtil:223 -  -> Found /services-mgr.properties in resource bundle
16:35:14,126 ERROR ActionServlet:731 - Missing configuration resource for path /WEB-INF/struts/struts-config-mexp.xml

UTA:我还尝试在 WEB-INF 下创建一个类目录并将 struts 配置文件移动到那里,但这也不起作用。

我希望这只是一个我现在看不到的愚蠢错误,因为我已经盯着它太久了。谢谢。

4

1 回答 1

0

假设以下情况: - struts-config-mexp.xml 存在于指定位置 - servlet 映射存在于 web.xml 中

您可以尝试以下方法来加载该 struts 文件:

  1. 将其移动到 web.xml 附近并相应地更改 web.xml 中的配置路径
  2. 在项目的类路径设置中提及,最好是在战争清单中。
  3. 使 actionservlet 启动时的负载为 1
于 2013-11-11T22:20:54.833 回答