OK. A little confused here. I have three maven projects - all were running just fine. All are spring based - and I wanted to add some simple aspect programming to one of them. So - I changed the spring config file to start like:

<?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";
       xmlns:tx="http://www.springframework.org/schema/tx";
xsi:schemaLocation="http://www.springframework.org/schema/ beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd";>
        <aop:spring-configured/>


Now - for this to be parseable you need a recent parser - so - I added the following to the pom:

   <dependency>
      <groupId>xerces</groupId>
      <artifactId>xercesImpl</artifactId>
      <version>2.8.1</version>
    </dependency>

This project works just fine. mvn test completes, mvn install works. All is well and good. Even the spring aop stuff works fine - using the aspectjweaver.jar :)


Projects 2 and 3 depend on project 1. Both of these have the exact same start to their spring XML minus the <aop:spring-configured> line since they do not directly have aop (they both use the spring config of project1 for that part - loaded from the classpath). Both projects 2 and 3 have the same xerces dependency in their poms.

mvn test and mvn install work just fine on project 2. But project 3 fails. It gives:

testGetActiveMembersReport(net.chrissearle.export.TestExportService) Time elapsed: 5.424 sec <<< ERROR! org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: L ine 9 in XML document from class path resource [project1.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:spring-configured'.

Now - this is apparently due to parser version.

mvn dependency:build-classpath shows only xerces 2.8.1. But - mvn site builds a site page where the dependencies show:

For compile:

xerces xercesImpl 2.8.1 - jar

but - for Project Transitive Dependencies

xerces xerces 1.2.3 - jar

However - the Project Dependency Graph only lists xerces:xercesImpl:jar (the direct dependency) - not the xerces:xerces:jar.

I just can't figure out what is pulling in the older xerces - and I need to get it into an exclusion somehow. Any hints on how to find out what is pulling it in?

Chris Searle
[EMAIL PROTECTED]


Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to