Unfortunately Maven steps into the fray here. Maven will use the dependency
with the shortest path, so we have:

1) myproject -> appfuse-struts -> appfuse-web-common -> commons-collections
3.2
2) myproject -> jasperreports -> commons-collection old version.

As the path in two is shorter, it wins (you will see "closer found" in the
Maven logs) and the older version will appear in your app. The joys of
transitive dependencies! ;-)

Mike.


On 3/27/07, Matt Raible <[EMAIL PROTECTED]> wrote:

That's strange you're getting this error - 2.0 M4 has an explicit
dependency on commons-collections 3.2 in the common-web project.

        <!-- Fix for Maven thinking commons-collections-2.1 is newer than
3.1. -->
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>${commons.collections.version }</version>
        </dependency>

Matt

On 3/27/07, wnqq <[EMAIL PROTECTED]> wrote:
>
>
> environment: appfuse v2m4 + struts basic archetype
>
> My appfuse application originally worked properly until I added the
> following dependency to pom.xml:
>
>     <dependencies>
>         ......
>         <dependency>
>                 <groupId>jasperreports</groupId>
>                 <artifactId>jasperreports</artifactId>
>                 <version>1.3.1</version>
>         </dependency>
>     </dependencies>
>
> Once the above jasperreports dependency is added, executing "mvn
> integration-test" failed with the following error messages:
>
> [INFO] [talledLocalContainer] [myproject] ERROR [main]
> 0-SNAPSHOT].listenerStart(3768) | Exception sending context initi
> alized event to listener instance of class
> net.sf.navigator.menu.MenuContextListener
> [INFO] [talledLocalContainer] java.lang.NoClassDefFoundError :
> org/apache/commons/collections/map/LinkedMap
> [INFO] [talledLocalContainer]   at
> net.sf.navigator.menu.MenuRepository.<init>(MenuRepository.java:38)
> [INFO] [talledLocalContainer]   at
> net.sf.navigator.menu.MenuContextListener.contextInitialized (
> MenuContextListener.java
> :57)
>
> I surfed the web and found out a related discussion at:
> http://www.nabble.com/(no-subject)-t1718406.html
> which says:
> "You need to upgrade to the latest release of
> commons-collections.  Struts
> Menu uses 3.0."
>
> So, now my question is:
> How to configure pom.xml to avoid the dependency conflict of
> commons-collections so that I can use JasperReports?
>
> Thanks in advance.
> --
> View this message in context: 
http://www.nabble.com/struts-menu-dependency-conflict-of-commons-collections-tf3472250s2369.html#a9689867
>
> Sent from the AppFuse - User mailing list archive at 
Nabble.com<http://nabble.com/>
> .
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
http://raibledesigns.com

Reply via email to