Spring AOP: “aucune déclaration ne peut être trouvé pour l'élément 'aop:config" ”
J'ai vu que quelques exemples de ce problème ont déjà été soulevée. Toutefois, je suis persuadé que je satisfaire les critères qui ont été évoquées lors de ces solutions. c'est à dire que je suis assez sûr que j'ai souhaité en pots sur mon chemin de classe + mon schemalocation adresses de regarder dans l'ordre.
Une solution mentionné que le problème peut être causé par la présence d'un autre analyseur XML sur le chemin de la classe. J'ai dom4j sur mon classpath mais j'ai enlevé pour tester, et le problème persiste.
Voici mon classpath:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="test"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/mysql-connector-java-5.1.18-bin.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/jaxen-1.1.3.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.aop-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.asm-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.aspects-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.beans-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.context.support-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.context-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.core-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.expression-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.instrument.tomcat-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.instrument-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.jdbc-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.jms-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.orm-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.oxm-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.test-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.transaction-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.web.portlet-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.web.servlet-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.web.struts-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/org.springframework.web-3.1.0.RC1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/log4j-1.2.16.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/commons-logging-1.1.1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/spring-mvc-airline/WebContent/WEB-INF/lib/junit-4.9b2.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/mybatis-3.1.0-SNAPSHOT.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/mybatis-spring-1.1.0.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/lambdaj-2.4.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/cglib-2.2.2.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/aspectj-1.6.12.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/aspectjrt-1.5.4.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/dom4j-1.6.1.jar"/>
<classpathentry kind="lib" path="C:/Users/user/workspace/rugby-project/lib/spring-aop-3.0.3.RELEASE.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Et voici mon xml:
<?xml version="1.0" encoding="UTF-8"?>
<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-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="timer" class="ie.ucd.dec.al.rugby.aop.Timer" />
<aop:config>
<aop:aspect ref="timer">
<aop:pointcut id="migrationManager_migrate"
expression="execution(* ie.ucd.dec.al.rugby.data.migrate.MigrationManager.migrateAllXmlFilesInDirectory())" />
<aop:around pointcut-ref="migrationManager_migrate"
method="timeJob()" />
</aop:aspect>
</aop:config>
</beans>
Enfin, voici mon stacktrace:
Exception in thread "main"
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 15 in XML document from class path resource [spring-aop.xml] is invalid; nested exception is
org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'aop:config'.
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:522)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:436)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
at ie.ucd.dec.al.rugby.data.migrate.MigrationRunner.main(MigrationRunner.java:10)
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'aop:config'.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(UnknownSource)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75)
at
Espère que quelqu'un peut vous aider.
Merci!
J'ai reformaté votre stacktrace. Assurez-vous de le faire par vous-même la prochaine fois. 🙂
OriginalL'auteur HellishHeat | 2012-04-08
Vous devez vous connecter pour publier un commentaire.
L'ordre de
xsi:schemaLocation
éléments est faux, chaque URI d'espace de noms doit être suivi par son XSD emplacement:Je suis un bon peu plus de Ressort au courant de ces jours, et souhaitez conseiller les gens à utiliser les "espaces de noms" onglet dans les STS (Printemps point de vue) lors de l'ajout d'espaces de noms. Supprime le potentiel pour une telle recrue des erreurs.
Merci @HellishHeat, pour un truc de pro
la version est obligatoire dans la déclaration de l'espace de noms ? par exemple je peux mettre
http://www.springframework.org/schema/beans/spring-beans.xsd
au lieu dehttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd
OriginalL'auteur axtavt