Anyone?  :-)

Best regards,
Eric


------------------------


Hi

I know a lot has been written about skinny WARs and the problems they represent.

The strategy that we're using is:

- Set dependencies in the web module to scope 'provided', except dependencies 
that are web-specific (PrimeFaces, ...)
- Set skinnyWars to true in the EAR project


The strategy works very well for releases. But for SNAPSHOTs (we use Maven 
3.0.4 with timestamped JARs) we have the problem that the same dependency still 
exists in both the WAR/WEB-INF/lib and the EAR/lib:

my.ear
  lib
    util-logging-1.13.0-SNAPSHOT.jar
  my-ejb.jar
  my.war
    WEB-INF
      lib
        util-logging-1.13.0-20130305.151315-24.jar


>From my point of view, this is what happens:
- The WAR plugin for my.war resolves all dependencies and puts them into its 
WEB-INF/lib. For some reason, the JARs contain the timestamp instead of 
SNAPSHOT in the filename.
- The WAR is deployed to the repo
- The EAR plugin for my.ear gets the my.war and tries to figure out what files 
are both in its dependencies as well as in the WAR's WEB-INF/lib
- However, since the two filenames of util-logging differ, it's only successful 
up to a certain extent - anything which is resolved to different filenames 
leaves me with two JARs.

Am I right with this?

Also, how can I solve the problem with the SNAPSHOTs?
Is there any other way than to force people to always use 'provided' in the web 
module? (I guess I should write a Maven Enforcer rule for that)

Thanks for any pointers...

Best regards,
Eric

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to