[MPECLIPSE-109] Updated FAQ with multiproject entries.
Submitted By: Gilles Dodinet git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@433315 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
15b544dae0
commit
f646c6c037
@ -24,6 +24,7 @@
|
||||
</properties>
|
||||
<body>
|
||||
<release version="1.11.1-SNAPSHOT" date="In SVN">
|
||||
<action dev="snicoll" type="update" issue="MPECLIPSE-109" due-to="Gilles Dodinet">Updated FAQ with multiproject entries.</action>
|
||||
<action dev="snicoll" type="fix" issue="MPECLIPSE-119">Fixed broken test cases.</action>
|
||||
<action dev="snicoll" type="fix" issue="MPECLIPSE-123" due-to="Nicolas De Loof">Download and attach javadoc archives to .classpath when no source archive is available.</action>
|
||||
<action dev="ltheussl" type="update">Update jelly dependency to match the ones in maven 1.1 core.</action>
|
||||
|
||||
@ -35,4 +35,64 @@
|
||||
</faq>
|
||||
|
||||
</part>
|
||||
|
||||
<part id="project-organization">
|
||||
<faq id="eclipse-multiproject">
|
||||
<question>
|
||||
Eclipse doesn't support hierarchical project structure. How am i supposed to organize my multiproject ?
|
||||
</question>
|
||||
<answer>
|
||||
<p>
|
||||
If you use Eclipse, you may already have encountered the Infamous Layout Issue:
|
||||
Eclipse doesn't handle (yet ?) overlapping projects. Thus if you work in a
|
||||
multiproject context with a classical non flat layout, Eclipse integration becomes
|
||||
quite problematic. You surely don't want to use one big Eclipse project because
|
||||
you'll then lose visibility on dependencies (inter-project dependencies as well
|
||||
as library dependencies) and this will quickly become quite hard to manage - and
|
||||
promotes cycles.
|
||||
</p>
|
||||
<p>
|
||||
Best solution found so far is to refactor your project structure to rather
|
||||
use a flat layout, as described below:
|
||||
<source>
|
||||
<pre>
|
||||
/project-root | /project-root
|
||||
+- subproject1 | +- project.xml
|
||||
+- project.xml ===> /subproject1
|
||||
+- subproject2 | +- project.xml
|
||||
+- project.xml | /subproject2
|
||||
+- project.xml | +- project.xml
|
||||
|
||||
</pre>
|
||||
</source>
|
||||
</p>
|
||||
<p>
|
||||
And alter your properties in a similar way than the example below:
|
||||
<source>
|
||||
maven.multiproject.basedir=${basedir}/..
|
||||
maven.multiproject.includes=*/project.xml
|
||||
maven.multiproject.excludes=project-root/project.xml
|
||||
</source>
|
||||
</p>
|
||||
<p>
|
||||
If you really can't (or don't want to) flatten your layout, the only solutions that are offered to you are a few tricks, each with its own drawback.
|
||||
<ul>
|
||||
<li>
|
||||
Edit root files outside Eclipse - almost safe but implies switching between tools.
|
||||
Note that initial checkout must be done through command line in this case, because
|
||||
parent project shouldn't be in the workspace folder.
|
||||
</li>
|
||||
<li>
|
||||
Create a virtual project which contains links to root files - doesn't
|
||||
support refactoring well, and implies identical paths on every developer machines.
|
||||
</li>
|
||||
</ul>
|
||||
<i>Use those tricks at your own risk</i>
|
||||
</p>
|
||||
<p>
|
||||
if this issue really annoys you, then please vote for <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=35973">https://bugs.eclipse.org/bugs/show_bug.cgi?id=35973</a>
|
||||
</p>
|
||||
</answer>
|
||||
</faq>
|
||||
</part>
|
||||
</faqs>
|
||||
Loading…
x
Reference in New Issue
Block a user