First, i'm very familiar with how acegi m2 build works, and I do know
how Maven resolves transitive dependencies. In both cases i can say
that I wrote it, literally ;)

if you do take a look to the library folder you will see that there
are no jars in both 1.2.8 and 2.0.2, they are all different. You are
forcing 2.0.2 only in spring-webmvc, thus spring dao, jdbc and remote
are not forced to 2.0.2 because they are not part of webmvc
dependencies

I'd suggest everybody trying to play seriously with maven to take a
look at "Better builds with Maven", edite by Mergere and downloadable
for free from http://www.mergere.com/m2book_download.jsp

Take a look to the output of -X an you'll probably understand better

[DEBUG] test:test:war:1.0-SNAPSHOT (selected for null)
[DEBUG]   org.springframework:spring-webmvc:jar:2.0.2:compile
(selected for compile)
[DEBUG]     commons-logging:commons-logging:jar:1.1:compile (selected
for compile)
[DEBUG]       log4j:log4j:jar:1.2.12:compile (selected for compile)
[DEBUG]       logkit:logkit:jar:1.0.1:compile (selected for compile)
[DEBUG]       avalon-framework:avalon-framework:jar:4.1.3:compile
(selected for compile)
[DEBUG]       javax.servlet:servlet-api:jar:2.3:compile (selected for compile)
[DEBUG]     org.springframework:spring-beans:jar:2.0.2:compile
(selected for compile)
[DEBUG]       org.springframework:spring-core:jar:2.0.2:compile
(selected for compile)
[DEBUG]     org.springframework:spring-context:jar:2.0.2:compile
(selected for compile)
[DEBUG]       aopalliance:aopalliance:jar:1.0:compile (selected for compile)
[DEBUG]     org.springframework:spring-core:jar:2.0.2:compile
(selected for compile)
[DEBUG]     org.springframework:spring-support:jar:2.0.2:compile
(selected for compile)
[DEBUG]     org.springframework:spring-web:jar:2.0.2:compile (selected
for compile)
[DEBUG]   org.acegisecurity:acegi-security:jar:1.0.3:compile (selected
for compile)
[DEBUG]     org.springframework:spring-remoting:jar:1.2.8:compile
(selected for compile)
[DEBUG]       org.springframework:spring-dao:jar:1.2.8:compile
(selected for compile)
[DEBUG]         org.springframework:spring-context:jar:1.2.8:compile
(removed - nearer found: 2.0.2)
[DEBUG]       org.springframework:spring-webmvc:jar:1.2.8:compile
(removed - nearer found: 2.0.2)
[DEBUG]     org.springframework:spring-jdbc:jar:1.2.8:compile
(selected for compile)
[DEBUG]       org.springframework:spring-beans:jar:1.2.8:compile
(removed - nearer found: 2.0.2)
[DEBUG]     org.springframework:spring-support:jar:1.2.8:runtime
(removed - nearer found: 2.0.2)
[DEBUG]     commons-lang:commons-lang:jar:2.1:compile (selected for compile)
[DEBUG]     commons-logging:commons-logging:jar:1.0.4:compile (removed
- nearer found: 1.1)
[DEBUG]     commons-codec:commons-codec:jar:1.3:compile (selected for compile)
[DEBUG]     oro:oro:jar:2.0.8:compile (selected for compile)
[DEBUG]     commons-collections:commons-collections:jar:3.1:compile
(selected for compile)
[DEBUG]     log4j:log4j:jar:1.2.9:runtime (setting scope to: compile)



On 2/16/07, Bertrand Renuart <[EMAIL PROTECTED]> wrote:
> Before saying Kyle is wrong you probably had better to test it...
> Give a try the following POM:
>
> <project>
>   <modelVersion>4.0.0</modelVersion>
>   <groupId>test</groupId>
>   <artifactId>test</artifactId>
>   <packaging>war</packaging>
>   <version>1.0-SNAPSHOT</version>
>
>   <dependencies>
>     <dependency>
>       <groupId>org.springframework</groupId>
>       <artifactId>spring-webmvc</artifactId>
>       <version>2.0.2</version>
>     </dependency>
>     <dependency>
>       <groupId>org.acegisecurity</groupId>
>       <artifactId>acegi-security</artifactId>
>       <version>1.0.3</version>
>     </dependency>
>   </dependencies>
> </project>
>
> Just do a 'mvn package' - of course Maven will complain because the WAR
> structure is incorrect but you will get the resolved libraries in the
> target/test-1.0-SNAPSHOT/WEB-INF/lib. Have a look and you will notice some
> 1.2.8 Spring libraries are included.
>
> The reason is quite straightforward if you know how Maven resolves
> transitive dependencies... and if you look at the Acegi parent pom.
>
> /Bertrand
>
>
>


-- 
I could give you my word as a Spaniard.
No good. I've known too many Spaniards.
                             -- The Princess Bride

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Home: http://acegisecurity.org
Acegisecurity-developer mailing list
Acegisecurity-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer

Reply via email to