2011-11-07 86 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任務的一般步驟。實際生產代碼可能有所不同