2011-11-07 152 views
3

异常过滤器开始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.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 
+1

你想要运行什么?在什么应用服务器?它看起来像是试图引用未定义的“展示”包。更多细节是必需的。 –

+0

@Awadhesh仍然在使用FilterDispatcher,它已经过时。使用StrutsPrepareAndExecute而不是。 –

回答

0

从中清楚看来,Struts2的是无法加载配置文件作为经理无法解析路径错误控制台。

2

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

0

我想你已经错过了加Struts2的罐子......你可能会添加Struts2的核心 - 2.1.8.jar,然后在配置文件中使用org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 。

0

我在使用Intellij IDE的windows中遇到了类似的问题。我正在使用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文件夹和它的作品。

0

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

如果你正在尝试构建一个新的webapp,建议避免手动添加罐子,而是使用像Apache或Gradle这样的构建工具来处理它。 这个过程更加简单和传统。 https://mvnrepository.com/artifact/org.apache.struts/

你也可以尝试使用现成的原型来避免各种启动错误。您可以稍后参考以下链接: https://struts.apache.org/docs/struts-2-maven-archetypes.html

0

缺少JAR和重复的JAR是主要原因。我宁愿遵循这些步骤一个Struts2的MVC应用程序:

  1. 在Eclipse中创建动态Web应用程序项目(或在您的IDE当量)
  2. 添加所有必需的JAR文件到您的构建路径和你的WEB- INF/lib文件夹(或服务器所需的适当文件夹)。我已经使用Eclipse的火星+ Tomcat的8
  3. 添加的过滤器标记到你的web.xml重定向所有的URL到StrutsPrepareAndExecuteFilter(这是最新的Struts2的)

    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 
    
  4. 创建必要的视图页面

  5. 无论是通过扩展ActionSupport类或实现Action接口创建必要的Action类(我宁愿前者!)
  6. 创建struts.xml中,并将其放置在您的上下文根*即项目文件夹根级别的src目录。将所有的动作到结果映射放在这个xml文件中。
  7. 仔细检查所有文件以确保所有拼写拼写正确。

注意:这些是正常学习阶段Struts2任务的一般步骤。实际生产代码可能有所不同

相关问题