1

Struts2 アプリの開発に RAD 7.0 を使用しています。websphere 6.1 の RAD 内で Web アプリを実行すると、次のエラーが発生します。


初期化できませんでした]: bean を読み込めません: タイプ: 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) .... 詳細 原因: Bean タイプ クラス com.opensymphony.xwork2.ObjectFactory の名前 xwork 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 詳細


これは、struts2 jar の 2 つのコピーが原因であることを理解しています。RAD 環境で Web プロジェクトをどのように構成したかを説明しましょう。

「Struts2Demo」プロジェクトという Web プロジェクトがあります。そして、必要なすべてのjarを含む「JARS」と呼ばれる別のプロジェクト。

Struts2Demo Web プロジェクトに必要なすべての jar は、「JARS」プロジェクトを参照する「J2EE Module Dependencies - Web Libraries」を使用して構成されます。

そのため、Web アプリのロード中の RAD は、「JARS」プロジェクトから、また Eclipse 一時フォルダー「/C:/workspace_test/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/Struts2Demo」からも jar をロードしています。 /WEB-INF/lib/" であるため、エラーが発生します。

したがって、私の質問は、必要な jar を WEB-INF/lib に配置する以外に、この構成を修正する方法はありますか?

4

1 に答える 1

0

RAD の経験はゼロです。しかし、標準的な方法は、各 Web アプリケーションの WEB-INF/lib に struts jar (および一般的にほとんどの jar) を配置することです。通常、重複の不便さは、Web アプリケーション間で各ライブラリ (異なるクラスローダー) からクラスを分離することによって補われます。これは、問題を回避するのに役立ちます。

于 2010-05-06T11:31:38.990 に答える