2010-05-06 29 views
1

我正在使用RAD 7.0開發Struts2應用程序。當我在WebSphere 6.1上運行的內部RAD的Web應用程序,我得到以下錯誤:RAD中的Struts2引發錯誤 - xwork已被bean加載


could not be initialized]: Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - wsjar:file:/C:/workspace_test/Jars/struts2-core-2.0.11.2.jar!/struts-default.xml:30:72 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:208) .... more Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has already been loaded by bean - wsjar:file:/C:/workspace_test/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/Struts2Demo/WEB-INF/lib/struts2-core-2.0.11.2.jar!/struts-default.xml:30:72 - bean - wsjar:file:/C:/workspace_test/Jars/struts2-core-2.0.11.2.jar!/struts-default.xml:30:72 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:193) ... 33 more


我明白,這是由於Struts2的罐子2份。讓我解釋我是如何在RAD環境中配置我的Web項目的。

我有一個名爲「Struts2Demo」項目的Web項目。還有一個名爲「JARS」的單獨項目,其中包含所有必需的罐子。

所有Struts2Demo web項目所需的jar都是使用引用「JARS」項目的「J2EE Module Dependencies-Web Libraries」來配置的。

因此,加載Web應用程序時,RAD從「JARS」項目加載JAR並從Eclipse日誌文件夾「/C:/workspace_test/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/Struts2Demo/WEB-INF/lib /「,因此出錯。

所以,我的問題是,有沒有什麼辦法來解決這個配置不是把需要的jar在WEB-INF/lib目錄

與RAD
+0

你有沒有想過這個?由於基於Maven的類加載器,我和你的問題一樣(類似於在WEB-INF/lib之外有jars文件夾) – 2012-05-16 05:41:12

回答

0

零距離體驗等。但標準做法是將struts jar(以及一般來說,大多數jar)放在每個web應用程序的WEB-INF/lib中。通過從每個庫(不同的類加載器)中分離出類之間的重複不便,這有助於避免出現問題。

相關問題