I'm saying in the top level agreggator (maven top level project) POM to
refer to modules as "..\modulename"
IE <module>..\module</module>
Then you can create your top level POM project as an eclipse project (or
not, but it should be in the workspace, there really is no reason NOT to
make it an eclipse project, though I tend to build them from command
line mostly). Then each module can be an eclipse project and you can
live within the eclipse 'flat' workspace model. The child POMs can still
just refer to the parent POM as usual. The easiest way is to build the
parent and deploy it to the local repository using mvn -N so it just
deploys the parent POM.
Then you should be able to just build your child projects/modules and
build either just the child or build the whole shebang. I've got maybe
40 modules and a 3 level deep structure here now, it works fairly well
except some tests that rely on maven-ant-plugin seem to get a bit
confused about paths. IIRC we just hard-coded some paths into
settings.xml here and there. Not 100% ideal, but it gets the job done
and the guys on Windows and Linux can compensate for different dir
structures.
Rick Debay wrote:
Are you saying to add ..\hello to the child pom, or .\hello to the
parent pom?
I should have noticed that the parent, empty project isn't in the
Eclipse project list, if that makes any difference.
Perhaps I should ditch modules for now, and peel the project apart in to
modules once Eclipse and Maven work well together.
As it is I'm worried what will happen when the Subclipse plug-in is
added to the mix.
-----Original Message-----
From: Tod Harter [mailto:[EMAIL PROTECTED]
Sent: Thursday, November 09, 2006 11:54 AM
To: [email protected]
Subject: [SPAM] - Re: [m2eclipse-user] Newbie help needed withproject
setup - Email found in subject
<modules>
<module>../hello</module>
</modules>
Should work. The module elements content actually points to the location
of the pom.xml in the module. I have found though that maven 2 doesn't
seem to be 100% happy with this 'flat' project layout. I'd have to dig
around in my POMs to remember exactly what the issue was, but some
builds that will work if you run the module's POM directly seem to get
confused about directory traversal when invoked as a sub build of a
higher level module. IIRC some brain surgery was required to force
everything to look in the right places.
Rick Debay wrote:
I'm trying to set up a project from scratch using Maven 2, m2eclipse
0.0.9, and Eclipse 3.2. I'm starting by working with the Quick Start
to understand how a project with multiple modules should be structured
to accommodate both systems.
I understand that while Eclipse 3.2 now supports sub-projects, the
Maven plugin doesn't. I tried to follow the example in Better Builds
with Maven, but it looks like the J2EE example switches between flat
and hierarchal layouts.
Here are the POM files that I have. When I select External Tools
compile or package, I get BUILD SUCCESSFUL but no class files or jar
is written to the target directory.
So what is the correct way to lay out a project that will consist of
multiple modules?
eclipse\workspace\hello-world\pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.accessrxs.hello</groupId>
<artifactId>hello-world</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>Maven Quick Start Archetype</name>
<url>http://maven.apache.org</url>
<modules>
<module>hello</module>
</modules>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
eclipse\workspace\hello-world\hello\pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>com.accessrxs.hello</groupId>
<artifactId>hello-world</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>hello</artifactId>
<packaging>jar</packaging>
<name>Maven Quick Start Archetype submodule</name> </project>
Thanks, Rick DeBay
Disclaimer: This message (including attachments) is confidential and
may be privileged. If you have received it by mistake please notify the
sender by return e-mail and delete this message from your system. Any
unauthorized use or dissemination of this message in whole or in part is
strictly prohibited. Please note that e-mails are susceptible to change.
RxStrategies, Inc. shall not be liable for the improper or incomplete
transmission of the information contained in this communication or for
any delay in its receipt or damage to your system. RxStrategies, Inc.
does not guarantee that the integrity of this communication has been
maintained nor that this communication is free from viruses,
interceptions or interference.
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email