我有一个使用 Eclipse、Struts 2 的 Web 应用程序,并在 Tomcat 7 服务器上运行。
我已经不再使用 http://javabrains.koushik.org 教程了。
我已经准备好了所有基本的 Struts 组件,但是由于某种原因,当我将这段代码引入到
web.xml
:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
<filter-mapping>
它把书扔向我。
严重:调度程序初始化失败 无法加载配置。 - 豆 - 原因:无法加载 bean:类型:class:com.opensymphony.xwork2.ObjectFactory - bean -
原因:名为 struts 的 Bean 类型类 com.opensymphony.xwork2.ObjectFactory 已被 bean 加载 - 严重:启动过滤器 struts2 时出现异常
无法加载配置。 -豆子-
原因:无法加载配置。 -豆子-
原因:无法加载 bean:类型:class:com.opensymphony.xwork2.ObjectFactory - bean -
原因:名为 struts 的 Bean 类型类 com.opensymphony.xwork2.ObjectFactory 已被 bean 加载 - jar:file:/C:/Program%20Files%20(x86)/Apache%20Software%20Foundation/Tomcat%207.0 /lib/struts2-core-2.3.16.jar!/struts-default.xml:40:72 -豆子-
我知道这不是完整的文本转储,但我不知道其余部分有多大用处。我需要理解它为什么这样做,这样我才能让它工作。
您不应将应用程序特定的 jar 复制到服务器
lib
文件夹。而是使用 WEB-INF/lib
。从服务器 struts2-core-2.3.16.jar
删除 lib
。如果 struts2-core-x.x.x.jar
中有另一个 WEB-INF/lib
,它会阻止 Tomcat 部署您的应用程序,因为在部署任何应用程序之前会加载 Tomcat lib
文件夹中的库。它会停止部署。 Tomcat lib
文件夹应仅包含运行 Web 容器所需的 Tomcat 安装的 jar,除非您知道自己在做什么,否则无需复制其他 jar。
没关系。事实证明,我所需要做的就是忘记构建路径,只将 jar 放入
WEB-INF/lib
文件夹中。效果就像一个魅力:D