2010-05-06 4 views
1

J'utilise RAD 7.0 pour développer l'application Struts2. Quand je lance l'application Web à l'intérieur RAD sur websphere 6.1, je reçois l'erreur suivante:Struts2 dans RAD augmente l'erreur - xwork a déjà été chargé par le 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


Je comprends que cela est dû à 2 copies des pots de Struts2. Laissez-moi vous expliquer comment j'ai configuré mon projet web dans l'environnement RAD.

J'ai un projet Web appelé projet "Struts2Demo". Et un projet distinct appelé "JARS" qui contient tous les pots nécessaires.

Tous les bocaux requis pour le projet Web Struts2Demo sont configurés à l'aide de "Dépendances du module J2EE - Bibliothèques Web" référençant le projet "JARS". Ainsi, le RAD lors du chargement de l'application Web charge les fichiers JAR depuis le projet "JARS" et depuis le dossier Eclipse temp "/C:/workspace_test/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/Struts2Demo/WEB-INF/lib/", d'où l'erreur.

Alors, ma question est-il un moyen de corriger cette configuration autre que de mettre des pots nécessaires dans WEB-INF/lib

+0

Avez-vous déjà découvert cela? J'ai le même problème que le vôtre en raison d'un chargeur de classe basé sur Maven .. (similaire à avoir un dossier jars en dehors de WEB-INF/lib) –

Répondre

0

expérience avec zéro RAD. Mais la pratique standard consiste à mettre les bols (et, en général, la plupart des bocaux) dans le WEB-INF/lib de chaque application web. L'inconvénient de la duplication est généralement compensé par l'isolation des classes de chaque bibliothèque (différents chargeurs de classes) parmi les applications web, ce qui permet d'éviter les problèmes comme les vôtres.

Questions connexes