You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by bayamos <ba...@yahoo.com> on 2007/12/14 10:06:43 UTC
Building war with multi-module classes and no module jars
I have a multi-module war project that currently creates a jar per module,
then the jars of the jar modules are copied to WEB-INF/lib using the normal
semantics for the war plugin.
I am using the maven-jibx-plugin and would like to copy the classes
generated from the non-war modules into the war's target/classes directory
so I can bytecode-enhance the classes before building the war. I would also
like to skip the step that builds the jars and copies them to the war's lib
directory.
Is this done with an assembly? I have read the documentation for the
assembly plugin, but there is no mention on how to do this.
--
View this message in context: http://www.nabble.com/Building-war-with-multi-module-classes-and-no-module-jars-tp14332309s177p14332309.html
Sent from the Maven - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: Building war with multi-module classes and no module jars
Posted by bayamos <ba...@yahoo.com>.
OK, here's the situation.
The JIBX bytecode enhancer modifies classes across multiple modules and it
has to work this way because of dependencies between the classes. This is
executed with a process-classes phase after all the jars are built, but
before the war is built. Since all the jars are built before the JIBX
plugin can run, the enhanced classes are in the jar modules target/classes
directory but not in the jar.
Another possibility is if there was a way to run the jibx plugin after all
the modules are compiled but before they are assembled into jars that would
work too.
I can live with the jars being built so continuum can work.
stojcevicht wrote:
>
> maven isn't really setup to be able to "reach into" other projects, to
> use artifacts created in other projects, you should go through jars
> via the repo
>
> You can however still do it by using the antrun plugin and ant's copy
> target with relative referencing "../project-a/target/classes", but
> doing so you loose true project independence (and you won't be able to
> add the projects individually to continuum if you use continuum).
>
> To stop the jar packaging you could:
> 1 - just call mvn compile in the common project, that won't jar up the
> classes
> 2 - change the project type in the pom from jar to pom, but then
> you'll have to setup each plugin you want to call since the jar
> lifecycle won't get called
>
>
> Couldn't you just add the class file post processing to the projects
> that the class files are compiled in?
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>
>
--
View this message in context: http://www.nabble.com/Building-war-with-multi-module-classes-and-no-module-jars-tp14332309s177p14339854.html
Sent from the Maven - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: Building war with multi-module classes and no module jars
Posted by Tomislav Stojcevich <st...@gmail.com>.
maven isn't really setup to be able to "reach into" other projects, to
use artifacts created in other projects, you should go through jars
via the repo
You can however still do it by using the antrun plugin and ant's copy
target with relative referencing "../project-a/target/classes", but
doing so you loose true project independence (and you won't be able to
add the projects individually to continuum if you use continuum).
To stop the jar packaging you could:
1 - just call mvn compile in the common project, that won't jar up the classes
2 - change the project type in the pom from jar to pom, but then
you'll have to setup each plugin you want to call since the jar
lifecycle won't get called
Couldn't you just add the class file post processing to the projects
that the class files are compiled in?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: Building war with multi-module classes and no module jars
Posted by bayamos <ba...@yahoo.com>.
Thanks for the reply.
What I would like to be able to do is copy the classes from from the other
modules target/classes directories into the war's target/classes directory.
I would also like to stop the package phase of the jars since I will not be
using them and make the build go faster. It is a very large project.
Is this possible?
stojcevicht wrote:
>
> You can use the dependency:unpack
> http://maven.apache.org/plugins/maven-dependency-plugin/unpack-mojo.html
> to unpack the classes from the jars.
>
> ---------------------------------------------------------------------
>
>
>
--
View this message in context: http://www.nabble.com/Building-war-with-multi-module-classes-and-no-module-jars-tp14332309s177p14338754.html
Sent from the Maven - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: Building war with multi-module classes and no module jars
Posted by Tomislav Stojcevich <st...@gmail.com>.
You can use the dependency:unpack
http://maven.apache.org/plugins/maven-dependency-plugin/unpack-mojo.html
to unpack the classes from the jars.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org