Java 存储库:无法将审核属性解析为(n)属性组组件

Java 存储库:无法将审核属性解析为(n)属性组组件,java,spring,spring-boot,spring-data,spring-data-jpa,Java,Spring,Spring Boot,Spring Data,Spring Data Jpa,将Spring数据库,特别是Spring存储库,放入Java遗留应用程序(Java1.6)。遗留应用程序也在使用Ant构建,在加载Spring ApplicationContext时,我遇到以下错误 org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 43 in XML document from ServletContext resource [/WEB-INF/spring/beans/cyc

将Spring数据库,特别是Spring存储库,放入Java遗留应用程序(Java1.6)。遗留应用程序也在使用Ant构建,在加载Spring ApplicationContext时,我遇到以下错误

org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 43 in XML document from ServletContext resource [/WEB-INF/spring/beans/cycpersistence-beans.xml] is invalid; nested exception is org.xml.sax.SAXParseException: src-resolve: Cannot resolve the name 'repository:auditing-attributes' to a(n) 'attribute group' component.
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:399)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:399)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:612)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:513)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:444)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:326)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4389)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:313)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:145)
at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
at org.jboss.web.deployers.WebModule.startModule(WebModule.java:122)
at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
at com.sun.proxy.$Proxy38.start(Unknown Source)
at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:297)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:826)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556)
at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
at org.jboss.system.ServiceController.start(ServiceController.java:460)
at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1454)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1172)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1193)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1225)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1113)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:826)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:789)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:699)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:403)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:778)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:543)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.registerProfile(AbstractProfileService.java:308)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:256)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
at org.jboss.Main.boot(Main.java:229)
下面是我正在使用的Spring库,Spring-data-commons-core.jar之外的所有版本都对应于Spring.io站点上的Hopper-SR10发布系列所有验证都在类路径上

        <!-- New Spring, Spring Data, Spring JPA, Spring ORM Libs-->
    <pathelement location="${compile.lib}/spring-core-4.2.9.RELEASE.jar"/>
    <pathelement location="${compile.lib}/spring-data-jpa-1.10.10.RELEASE.jar"/>
    <pathelement location="${compile.lib}/spring-data-commons-1.12.10.RELEASE.jar"/>
    <pathelement location="${compile.lib}/spring-orm-4.2.9.RELEASE.jar"/>
    <pathelement location="${compile.lib}/spring-aop-4.2.9.RELEASE.jar"/>
    <pathelement location="${compile.lib}/spring-aspects-4.2.9.RELEASE.jar"/>
    <pathelement location="${compile.lib}/spring-jdbc-4.2.9.RELEASE.jar"/>
    <pathelement location="${compile.lib}/spring-beans-4.2.9.RELEASE.jar"/>
    <pathelement location="${compile.lib}/spring-web-4.2.9.RELEASE.jar"/>
    <pathelement location="${compile.lib}/spring-context-4.2.9.RELEASE.jar"/>
    <pathelement location="${compile.lib}/spring-expression-4.2.9.RELEASE.jar"/>
    <pathelement location="${compile.lib}/spring-data-commons-core-1.4.1.RELEASE.jar"/>

以下是Spring配置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:context="http://www.springframework.org/schema/context"
       xmlns:jpa="http://www.springframework.org/schema/data/jpa"
    xsi:schemaLocation="http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-4.2.xsd
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
    http://www.springframework.org/schema/data/repository
    http://www.springframework.org/schema/data/repository/spring-repository.xsd
    http://www.springframework.org/schema/data/jpa
    http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
 ">

    <context:component-scan base-package="com.cc.spring.beans.persistence, com.cc.spring.beans.persistence.repository"/>
    <jpa:repositories base-package="com.cc.spring.beans.persistence.repository"/>

</beans>


以前的堆栈溢出帖子提到,这可能是由于不兼容的spring数据jar文件造成的,但我再次使用spring release系列来避免这种情况。我在xml文件中使用了不同版本的spring数据xsd模式,但没有成功。我已经删除并添加了spring存储库xsd模式。任何和所有的想法将非常感谢在前进

问题解决了,归根结底是挖掘错误,而不是随机尝试回答类似的问题。找不到XML属性组“存储库:审核属性”。然后我深入研究了SpringDataCommons 1.12.10的jar文件,发现其中包含Spring-repository-1.8.xsd。我在xml中指定了这个版本,即cycpersistenance.xml,它运行正常

查看xsd以查看引用它的位置以及错误的来源:


然后是在这里找到的定义。它位于复杂组“存储库”下


确实,这听起来像是JAR和您正在引用的Xml文档之间存在一些不兼容。为什么不发布堆栈跟踪的开始部分?简化设置,直到您可以对Maven执行相同的操作。如果出现,请在此处发布完整的配置。如果不符合onw问题,请进一步简化。如果Maven setup没有显示相同的行为在这两个变体中的stacktrace的不同位置放置断点,以了解Ant版本中失败的地方。它可能会指向某个jar的某个错误版本。感谢Jens,现在尝试一下。我还编辑了最初的帖子,以使完整的第一行是您发布的文件,应该是
cycpersistence beans.xml
文件有问题吗?如果是:奇怪,它似乎没有第43行。否则:请发布该文件。嗨,Jens,我相信它是第43行,因为还有两个其他配置xml文件作为应用程序上下文的一部分包含在其中。它们以前工作正常,所以我没有包含它们。问题是解决d、 它归结为挖掘错误。它找不到该属性组,所以我查找了它的位置和它在中的位置。然后我挖掘了spring data commons的jar文件,发现它包含spring-repository-1.8.xsd。我指定了该版本,它工作了!如果您认为您的原始注释是答案,我将o像以前一样,请您将其作为答案发布,以便我可以给您评分。
<xsd:complexType>
<xsd:attributeGroup ref="repository:auditing-attributes"/>
</xsd:complexType>