You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by "Ballard, Ken" <Ke...@ACS-INC.com> on 2005/07/18 20:47:59 UTC

Directory Structure conventions for multiprojects

Maven team,

We're adopting Maven and I want to set up my directory structure with strict
adherence to Maven conventions. We're in the early phases of a project, so
I'm thinking that that will save us the most time in the future. I found
"Maven: A Developer's Workbook" and the conventions page
[http://maven.apache.org/reference/conventions.html] of the Maven website to
be very helpful, but I just want to validate my structure.

I have this structure:

myproject/
+- acceptance/
|  +- test/
|  |  +- java/
|  |  |  +- ...
|  +- maven.xml
|  +- project.xml
|  +- project.properties
+- common/
|  +- project.xml
|  +- project.properties
+- ear/
|  +- src/
|  |  +- main/
|  |  |  +- application/
|  |  |  |  +- META-INF/
|  |  |  +- ejb/
|  |  |  |  +- META-INF/
|  |  |  +- java/
|  |  |  |  +- com
|  |  |  |  |  +- ...
|  |  |  +- resources/
|  |  +- test/
|  |     +- java/
|  |        +- com
|  |           +- ...
|  +-target/
|  +- maven.xml
|  +- project.xml
|  +- project.properties
+-implementations/
|  +- src/
|  |  +- main/
|  |  |  +- java/
|  |  |  |  +- com
|  |  |  |  |  +- ...
|  |  |  +- resources/
|  |  +- site/
|  |  |  +- xdoc/
|  |  +- test/
|  |     +- java/
|  |        +- com
|  |           +- ...
|  +-target/
|  +- project.xml
+-interfaces/
|  +- src/
|  |  +- main/
|  |  |  +- java/
|  |  |  |  +- com
|  |  |  |  |  +- ...
|  |  |  +- resources/
|  |  +- site/
|  |  |  +- xdoc/
|  |  +- test/
|  |     +- java/
|  |        +- com
|  |           +- ...
|  +-target/
|  +- project.xml
+-web/
|  +- src/
|  |  +- main/
|  |  |  +- java/
|  |  |  |  +- com
|  |  |  |  |  +- ...
|  |  |  +- resources/
|  |  +- site/
|  |  |  +- xdoc/
|  |  +- test/
|  |  |  +- java/
|  |  |     +- com
|  |  |        +- ...
|  |  +- webapp/
|  |     +-WEB-INF/
|  +-target/
|  +- project.xml
+- maven.xml
+- project.xml
+- project.properties


The .war file will be deployed to the web server and the .ear file will be
deployed to an app server on a different box. myproject-web.war needs to
contain the myproject-interfaces.jar and a client jar(s) for the EJB(s)
(I'll need to figure out how to generate these with Maven).
myproject-ear.ear needs myproject-interfaces.jar and
myproject-implementations.jar (and the EJBs, of course). The "acceptance"
project is for acceptance (or functional) tests.

Does this directory structure strictly adhere to the Maven conventions?

Thanks,
Ken
CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is
for the sole use of the intended recipient(s) and may contain confidential
and privileged information. Any unauthorized review, use, disclosure or
distribution is prohibited. If you are not the intended recipient, please
contact the sender by reply e-mail and destroy all copies of the original
message.
  


begin 600 MyMavenDirStructure.txt
M;7EP<F]J96-T+PT**RT@86-C97!T86YC92\-"GP@("LM('1E<W0O#0I\("!\
M("`K+2!J879A+PT*?"`@?"`@?"`@*RT@+BXN#0I\("`K+2!M879E;BYX;6P-
M"GP@("LM('!R;VIE8W0N>&UL#0I\("`K+2!P<F]J96-T+G!R;W!E<G1I97,-
M"BLM(&-O;6UO;B\-"GP@("LM('!R;VIE8W0N>&UL#0I\("`K+2!P<F]J96-T
M+G!R;W!E<G1I97,-"BLM(&5A<B\-"GP@("LM('-R8R\-"GP@('P@("LM(&UA
M:6XO#0I\("!\("!\("`K+2!A<'!L:6-A=&EO;B\-"GP@('P@('P@('P@("LM
M($U%5$$M24Y&+PT*?"`@?"`@?"`@*RT@96IB+PT*?"`@?"`@?"`@?"`@*RT@
M345402U)3D8O#0I\("!\("!\("`K+2!J879A+PT*?"`@?"`@?"`@?"`@*RT@
M8V]M#0I\("!\("!\("!\("!\("`K+2`N+BX-"GP@('P@('P@("LM(')E<V]U
M<F-E<R\-"GP@('P@("LM('1E<W0O#0I\("!\("`@("`K+2!J879A+PT*?"`@
M?"`@("`@("`@*RT@8V]M#0I\("!\("`@("`@("`@("`K+2`N+BX-"GP@("LM
M=&%R9V5T+PT*?"`@*RT@;6%V96XN>&UL#0I\("`K+2!P<F]J96-T+GAM;`T*
M?"`@*RT@<')O:F5C="YP<F]P97)T:65S#0HK+6EM<&QE;65N=&%T:6]N<R\-
M"GP@("LM('-R8R\-"GP@('P@("LM(&UA:6XO#0I\("!\("!\("`K+2!J879A
M+PT*?"`@?"`@?"`@?"`@*RT@8V]M#0I\("!\("!\("!\("!\("`K+2`N+BX-
M"GP@('P@('P@("LM(')E<V]U<F-E<R\-"GP@('P@("LM('-I=&4O#0I\("!\
M("!\("`K+2!X9&]C+PT*?"`@?"`@*RT@=&5S="\-"GP@('P@("`@("LM(&IA
M=F$O#0I\("!\("`@("`@("`K+2!C;VT-"GP@('P@("`@("`@("`@("LM("XN
M+@T*?"`@*RUT87)G970O#0I\("`K+2!P<F]J96-T+GAM;`T**RUI;G1E<F9A
M8V5S+PT*?"`@*RT@<W)C+PT*?"`@?"`@*RT@;6%I;B\-"GP@('P@('P@("LM
M(&IA=F$O#0I\("!\("!\("!\("`K+2!C;VT-"GP@('P@('P@('P@('P@("LM
M("XN+@T*?"`@?"`@?"`@*RT@<F5S;W5R8V5S+PT*?"`@?"`@*RT@<VET92\-
M"GP@('P@('P@("LM('AD;V,O#0I\("!\("`K+2!T97-T+PT*?"`@?"`@("`@
M*RT@:F%V82\-"GP@('P@("`@("`@("LM(&-O;0T*?"`@?"`@("`@("`@("`@
M*RT@+BXN#0I\("`K+71A<F=E="\-"GP@("LM('!R;VIE8W0N>&UL#0HK+7=E
M8B\-"GP@("LM('-R8R\-"GP@('P@("LM(&UA:6XO#0I\("!\("!\("`K+2!J
M879A+PT*?"`@?"`@?"`@?"`@*RT@8V]M#0I\("!\("!\("!\("!\("`K+2`N
M+BX-"GP@('P@('P@("LM(')E<V]U<F-E<R\-"GP@('P@("LM('-I=&4O#0I\
M("!\("!\("`K+2!X9&]C+PT*?"`@?"`@*RT@=&5S="\-"GP@('P@('P@("LM
M(&IA=F$O#0I\("!\("!\("`@("`K+2!C;VT-"GP@('P@('P@("`@("`@("LM
M("XN+@T*?"`@?"`@*RT@=V5B87!P+PT*?"`@?"`@("`@*RU714(M24Y&+PT*
M?"`@*RUT87)G970O#0I\("`K+2!P<F]J96-T+GAM;`T**RT@;6%V96XN>&UL
I#0HK+2!P<F]J96-T+GAM;`T**RT@<')O:F5C="YP<F]P97)T:65S#0H=
`
end

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