Spring 3.0: Impossible de localiser le Printemps NamespaceHandler pour l'espace de noms XML schema
Mon installation est assez simple: j'ai une web front-end, back-end est le printemps-câblé.
Je suis à l'aide de l'AOP pour ajouter une couche de sécurité sur mes services rpc.
C'est du tout bon, sauf pour le fait que l'application web abandonne sur le lancement:
[java] GRAVE: Contexte échec de l'initialisation de [java] org.springframework.les haricots.usine.de l'analyse.BeanDefinitionParsingException: problème de Configuration: Impossible de localiser le Printemps NamespaceHandler pour l'espace de noms XML schema [http://www.springframework.org/schema/aop] [java] la Délinquance des ressources: ServletContext de ressources [/WEB-INF/gwthandler-servlet.xml]
Voici l'extrait de mon fichier de configuration xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<aop:config>
<aop:aspect id="security" ref="securityAspect" >
<aop:pointcut id="securedServices" expression="@annotation(com.fb.boog.common.aspects.Secured)"/>
<aop:before method="checkSecurity" pointcut-ref="securedServices"/>
</aop:aspect>
</aop:config>
J'ai lu sur internet que c'est peut-être mon classloading le cœur du problème. Douteux, car voici ma WEB-INF/lib:
./WEB-INF/lib
./WEB-INF/lib/aopalliance-alpha1.jar
./WEB-INF/lib/aspectj-1.6.6.jar
./WEB-INF/lib/commons-collections.jar
./WEB-INF/lib/commons-logging.jar
./WEB-INF/lib/ehcache-core-1.7.0.jar
./WEB-INF/lib/ejb3-persistence.jar
./WEB-INF/lib/hibernate
./WEB-INF/lib/hibernate/antlr.jar
./WEB-INF/lib/hibernate/asm.jar
./WEB-INF/lib/hibernate/bsh-2.0b1.jar
./WEB-INF/lib/hibernate/cglib.jar
./WEB-INF/lib/hibernate/dom4j.jar
./WEB-INF/lib/hibernate/freemarker.jar
./WEB-INF/lib/hibernate/hibernate-annotations.jar
./WEB-INF/lib/hibernate/hibernate-shards.jar
./WEB-INF/lib/hibernate/hibernate-tools.jar
./WEB-INF/lib/hibernate/hibernate.jar
./WEB-INF/lib/hibernate/jtidy-r8-20060801.jar
./WEB-INF/lib/jabsorb
./WEB-INF/lib/jabsorb/jabsorb-1.3.1.jar
./WEB-INF/lib/jta.jar
./WEB-INF/lib/jyaml-1.3.jar
./WEB-INF/lib/postgresql-8.4-701.jdbc4.jar
./WEB-INF/lib/sjsxp.jar
./WEB-INF/lib/spring
./WEB-INF/lib/spring/org.springframework.aop-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.asm-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.aspects-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.beans-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.context-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.context.support-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.core-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.expression-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.instrument-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.instrument.tomcat-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.jdbc-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.jms-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.orm-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.oxm-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.test-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.transaction-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.web-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.web.portlet-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.web.servlet-3.0.0.RELEASE.jar
./WEB-INF/lib/spring/org.springframework.web.struts-3.0.0.RELEASE.jar
./WEB-INF/lib/testng-5.11-jdk15.jar
./WEB-INF/web.xml
Vous devez vous connecter pour publier un commentaire.
Avez-vous essayé de mettre tous vos pots directement dans le
WEB-INF/lib
dir au lieu de les sous-répertoires de qui?Pas
WEB-INF/lib/spring/org.springframework.aop-3.0.0.RELEASE.jar
, justeWEB-INF/lib/org.springframework.aop-3.0.0.RELEASE.jar
De même avec le reste des pots.
WEB-INF/lib
ne sont pas valides. N'a jamais su d'une manière ou d'une autre façon que j'avais de travail... bon à savoir maintenant. code.google.com/appengine/docs/java/tools/ant.html#Copying_JARsRencontré cette erreur lors de l'utilisation de maven-ombre-plugin, la solution a été notamment:
META-INF/spring.les schémas
et
META-INF/spring.les gestionnaires
transformateurs dans le maven-ombre-plugin lors de la construction de...
(Crédits: Idée pour éviter que le printemps.de la manipulation et du printemps.les schémas écrasé lors de la fusion de plusieurs dépendances spring dans un seul pot)
http://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html
J'ai rencontré un problème similaire en utilisant le maven-ombre-plugin. J'ai trouvé la solution à mes problèmes dans leur page d'exemple ci-dessus.
Ce IDE (le cas échéant) utilisez-vous? Cela se produit lorsque vous travaillez dans un IDE, ou seulement sur le déploiement? Si c'est le déploiement, il peut être parce que quel que soit le mécanisme de déploiement que vous utilisez -- maven-assembly faire un seul POT avec des dépendances est connu coupable -- s'effondre tous vos Bocaux dans un seul répertoire et le Printemps de schéma et de gestionnaire de fichiers sont d'écraser les uns les autres.
Je suis tombé sur une erreur similaire, mais se référant à Spring Webflow dans un nouvellement créé Roo projet. La solution pour moi s'est avéré être (Projet) /clic droit /Maven /Activer les Dépendances Maven (suivi par quelques redémarre et republie pour Tomcat).
Il est apparu que les STS ou m2Eclipse était pas à pousser tout le spring webflow bocaux dans l'application web lib. Je ne sais pas pourquoi. Mais maven permettant la gestion des dépendances et puis la reconstruction semble résoudre le problème; le webflow pots enfin d'être publié et ainsi, il peut trouver de l'espace de noms du schéma références.
Je me suis renseignée sur ce en explorant le répertoire de tomcat que l'application web a été publié, en cliquant sur dans WEB-INF/lib/alors qu'il était en cours d'exécution et de s'apercevoir qu'il manquait webflow fichiers jar.
Cette astuce a fonctionné pour moi aussi: Dans Eclipse, cliquez-droit sur le projet puis Maven > mise à Jour des Dépendances.
Dans le cas où quelqu'un d'autre s'exécute dans ce problème, j'ai juste fait à l'aide d'Eclipse; exécution du projet via le clic droit d'action. Cette erreur s'est produite dans le J2EE vue, mais ne se produit PAS dans le Java de vue. Pas sûr, en supposant que quelque chose avec l'ajout de bibliothèques à la bonne 'lib' annuaire.
Je suis également à l'aide d'un projet Maven, permettant m2eclipse pour gérer les dépendances.
J'ai le même problème avec le printemps 3.0.2 et printemps-haricots-3.0.xsd.
Ma solution:
Créer un fichier META-INF/spring.schémas dans le dossier source et copie tous nécessaire définitions. Créer de printemps.gestionnaires de trop.
Je pense que la classe PluggableSchemaResolver ne fonctionne pas correctement.
http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/xml/PluggableSchemaResolver.html
de la javadoc:
"Par défaut, cette classe va chercher les fichiers de mappage dans le chemin de classe à l'aide du modèle: META-INF/spring.des schémas permettant de multiples fichiers existent sur le chemin de classe à tout moment."
mais dans mon cas, cette classe lu que le premier printemps.les schémas finded.
Grettings.
pacovr
Si vous utilisez
mvn
, vérifiez que vous avez la bonne portée (si vous avez défini dans votrepom.xml
. Une fois, j'ai eu mal définie à test mais nécessaires pour runtime.Assurez-vous d'avoir toutes les dépendances résolu
Je rencontre ce problème lors de ma première tentative à l'AOP, à la suite d'un printemps tutoriel.
Mon problème était de ne pas avoir
spring-aop.jar
dans mon classpath. Le tutoriel répertorié toutes les autres dépendances que j'avais à ajouter, à savoir:aspectjrt.jar
aspectjweaver.jar
aspectj.jar
aopalliance.jar
Mais une manquait. Juste un problème de plus qui peut contribuer à des symptômes dans la question d'origine.
Je suis à l'aide d'Eclipse (néon), Java SE 8, haricots 3.0, spring AOP 3.0, Printemps 4.3.4. Le problème a montré, dans le Java, n'JEE--, et tout en essayant d'exécuter l'application avec le bouton Droit de menu -> Exécuter en tant Qu' -> Java Application.
Vous pouvez également essayer d'utiliser un pot de plugin maven qui a réglé le problème pour nous. Il suffit de suivre les instructions de l' ici.