Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring AOP:“;找不到元素';aop:config'&引用;_Java_Spring_Aspectj_Spring Aop - Fatal编程技术网

Java Spring AOP:“;找不到元素';aop:config'&引用;

Java Spring AOP:“;找不到元素';aop:config'&引用;,java,spring,aspectj,spring-aop,Java,Spring,Aspectj,Spring Aop,我已经看到这个问题的一些例子已经被提出。然而,我相信我满足这些解决方案中概述的标准。i、 我很确定我的类路径和schemalocation地址上都有所需的jar 一个解决方案提到,这个问题可能是由类路径上有另一个XML解析器引起的。我的类路径上确实有dom4j,但我已将其删除以进行测试,问题仍然存在 这是我的课程路径: 下面是我的xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.spr

我已经看到这个问题的一些例子已经被提出。然而,我相信我满足这些解决方案中概述的标准。i、 我很确定我的类路径和schemalocation地址上都有所需的jar

一个解决方案提到,这个问题可能是由类路径上有另一个XML解析器引起的。我的类路径上确实有dom4j,但我已将其删除以进行测试,问题仍然存在

这是我的课程路径:


下面是我的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>

最后,这里是我的stacktrace:

线程“main”中出现异常 org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:类路径资源[spring aop.xml]的xml文档中的第15行无效;嵌套异常是 org.xml.sax.saxpasseeption:cvc复杂类型。2.4.c:匹配的通配符是严格的,但找不到元素“aop:config”的声明。 位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396) 位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) 位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) 位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174) 位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209) 位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) 位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243) 位于org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127) 位于org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93) 位于org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131) 位于org.springframework.context.support.AbstractApplicationContext.AcquitainFreshBeanFactory(AbstractApplicationContext.java:522) 位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:436) 位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:139) 位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:93) 位于ie.ucd.dec.al.rugby.data.migrate.MigrationRunner.main(MigrationRunner.java:10) 原因:org.xml.sax.saxpasseeption:cvc复杂类型。2.4.c:匹配的通配符是严格的,但找不到元素“aop:config”的声明。 位于com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(未知源) 位于com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(未知源) 位于com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(未知来源) 位于com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(未知来源) 位于com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(未知源) 在com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(未知来源) 位于com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handlestarelement(未知来源) 位于com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(未知来源) 在com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(未知来源) 位于com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(未知源) 在com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(未知来源) 位于com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(未知源) 在com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.ScandDocument(未知来源) 位于com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(未知源) 位于com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(未知源) 位于com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(未知源) 位于com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(未知源) 位于com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(未知源代码) 位于org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75) 在 希望有人能帮忙


谢谢

xsi:schemaLocation项的顺序错误,每个名称空间URI后面都应该跟有它的XSD位置:

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/context/spring-context-3.0.xsd          
     http://www.springframework.org/schema/aop         
     http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"

现在我对Spring有了更多的了解,我建议人们在添加名称空间时使用STS(Spring透视图)中的“名称空间”选项卡。消除了此类新手错误的可能性。感谢@HellishHeat,对于pro提示,名称空间声明中的版本是强制性的?例如,我可以把
http://www.springframework.org/schema/beans/spring-beans.xsd
而不是
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
我已重新设置了stacktrace的格式。请确保下次自己做这件事。:-)