I haven't worked with a lot of multi-module projects, but the way it
works if I understand it right is that your core-api will be built and
installed into the local repository. Now whenever you will build the
client / server from the relevant directory, It will *not* rebuild the
core-api. It will pick up the core-api-0.0.1-SNAPSHOT.jar file from your
local repository (.m2/repository/ directory). You will have to make sure
that you manually build core-api every time it is updated.
Other way to handle this could be using your local repository (nexus /
artifactory) along with Continuous Integration. Where CI builds the
core-api and installs it into the local repository. The client / server
developer just refers to the local maven repository. I think there is a
way to tell Maven to update the dependencies every time from a
repository. This will make sure that developers would always get the
latest SNAPSHOT dependencies when they build and they do not have to
build the whole project after every SCM update.
I wonder if there is a simpler way?
Thanks,
Kalpak
Hello,
I'd need some more clarification in case I use module structure proposed:
does it mean I'd have in server/pom.xml as well as in client/pom.xml?
<dependencies>
<dependency>
<groupId>core-api</groupId>
<artifactId>core-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
or something similar that would match name+version of core-api
I'd like to have automatically built core-api in case I do some
updates in it and then I build server or client module using:
mvn site (but in client or server module, not in the root one)
As for example, server developer doesn't need client to be built (as
it's quite time consuming), but needs only server and core-api.
Do you have any suggestion? Did I get it correctly or am I missing
some important point?
Thanks
Peter B.
On Wed, May 5, 2010 at 12:20 PM, Peter Butkovic<[email protected]> wrote:
Hello,
thanks for fast reply! I'll follow your proposal.
Peter B.
On Wed, May 5, 2010 at 10:42 AM, Karl Heinz Marbaise<[email protected]> wrote:
Hi,
i would suggest to create the following structure. Mor
pom.xml (root) (modules: client, server, core-api)
+---- client
+-- pom.xml (parent: root: dependency: core-api)
+---- server
+-- pom.xml (parent: root: dependeny: core-api)
+---- core-api
+-- pom.xml (parent: root)
The question about core-api is that you don't positioned core-api under
client nor under server, cause it's used by both so you have to put it on
the same level.
Kind regards
Karl Heinz Marbaise
--
View this message in context:
http://old.nabble.com/maven-multi-module-project-structure-tp28457606p28458206.html
Sent from the Maven - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]