异常启动过滤器struts2

异常启动过滤器struts2,struts2,Struts2,异常启动过滤器struts2 Unable to load configuration. - [unknown location] at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431) at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190) at org.apache.catali

异常启动过滤器struts2

Unable to load configuration. - [unknown location]
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)
    at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)
    at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1284)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1382)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642)
    at java.lang.Thread.run(Thread.java:619)
Caused by: Unable to load configuration. - [unknown location]
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
    ... 15 more
Caused by: Unable to locate parent package [showcase] - [unknown location]
    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.getPackageConfig(PackageBasedActionConfigBuilder.java:887)
    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:536)
    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:318)
    at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
    ... 17 more
无法加载配置。-[未知位置]
位于org.apache.struts2.dispatcher.dispatcher.init(dispatcher.java:431)
位于org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
位于org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
位于org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
位于org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:115)
位于org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072)
位于org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)
位于org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1284)
位于org.apache.catalina.startup.HostConfig.check(HostConfig.java:1382)
位于org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306)
位于org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
位于org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389)
位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653)
位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662)
位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642)
运行(Thread.java:619)
原因:无法加载配置。-[未知位置]
位于com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
在org.apache.struts2.dispatcher.dispatcher.init\u预配置(dispatcher.java:374)中
位于org.apache.struts2.dispatcher.dispatcher.init(dispatcher.java:418)
... 还有15个
原因:无法找到父包[showcase]-[unknown location]
位于org.apache.struts2.convention.PackageBasedActionConfigBuilder.getPackageConfig(PackageBasedActionConfigBuilder.java:887)
位于org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:536)
位于org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:318)
位于org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)
在com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204)上
位于com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
... 还有17个

从错误控制台中可以清楚地看到,struts2无法加载配置文件,因为manager无法解析路径。

此问题的发生只是因为您丢失了一些struts库文件。请确保所有库文件都包含在构建路径中。

我认为您没有添加struts2 jar…您可以添加struts2-core-2.1.8.jar,然后使用org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
在配置文件中。

我在windows和Intellij IDE中有类似的问题。我使用的是tomcat服务器。我复制了所有的Struts2罐子

asm.jar
asm-commons.jar
asm-tree.jar
commons-fileupload.jar
commons-io.jar
commons-lang.jar
freemarker.jar
javassist.jar
ognl.jar
struts2-core.jar
xwork-core.jar

F:\xampp\tomcat\lib
文件夹,它可以正常工作。

异常跟踪意味着您的应用程序正在尝试查找struts2-core.jar,但它没有在类路径上找到。同时添加库和其他依赖项。如果您已经添加了,请确保它在服务器上可用(如果WEB-INF中的eclipse/lib文件夹是部署程序集)

如果您试图构建一个新的webapp,建议避免手动添加jar,而是使用apache或gradle之类的构建工具。 这个过程要简单得多,传统得多。

您还可以尝试使用现成的原型来避免各种启动错误。稍后,您可以参考以下链接:

丢失罐子和重复罐子是主要原因。对于Struts2 MVC应用程序,我更愿意遵循以下步骤:

  • 在Eclipse(或IDE中的等效工具)中创建动态Web应用程序项目
  • 将所有必需的JAR文件添加到构建路径和WEB-INF/lib文件夹(或服务器所需的适当文件夹)中。我使用了Eclipse火星+Tomcat 8
  • 将筛选标记添加到web.xml以将所有URL重定向到StrutsPrepareAndExecuteFilter(这是struts2的最新版本)

  • 创建必要的查看页面

  • 通过扩展ActionSupport类或实现Action接口创建必要的Action类(我更喜欢前者!)
  • 创建struts.xml并将其放在上下文根*的SRC文件夹中,即项目文件夹根级别。将所有操作到结果的映射放置在此xml文件中
  • 仔细检查所有文件,确保所有拼写正确

  • 注:这些是正常学习水平Struts2作业的一般步骤。实际生产代码可能会有所不同。

    您想运行什么?在哪个应用服务器下?看起来有东西试图引用未定义的“showcase”包。需要更多详细信息。@Awadhesh您仍然在使用FilterDispatcher,它已经过时了。用StrutsPrepareAndExecute代替它。
      org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter