Thanks for your response.
I am following the following structure as u mentioned

 my-app
  |-- pom.xml
  `-- src
       -- main
         `-- java
            `-- package1
                 `-- package2
                     `-- package3
                     |   `-- App.java
                     `-- package4
                         `-- MyClass.java
     

Then what should be my parent POM.xml? 
How many poms I need. Do I need poms for package3 as well as package4
along with main pom?
 `

Thanks & Regards 
Ramesh Babu.P 
  
-----Original Message-----
From: Tim Kettler [mailto:[EMAIL PROTECTED] 
Sent: Saturday, April 21, 2007 11:42 PM
To: Maven Users List
Subject: Re: Problem in packaging multiple directories

Hi,

I. Maven Directory Layout

If you follow the 'Getting Started Guide' you should have a directory
structure like the one below:

  my-app
  |-- pom.xml
  `-- src
      |-- main
      |   `-- java
      |       `-- package1
      |           `-- package2
      |               `-- package3
      |               |   `-- App.java
      |               `-- package4
      |                   `-- MyClass.java
      `-- test
          `-- java
              `-- packakag1
                  `-- package2
                      `-- package3
                          `-- AppTest.java

This is the default layout maven expects. If you are not converting from
a legacy project and absolutely need a different directory layout you
should stick to this default. That will save you from much hassle.

If you really can't follow that proposed structure, you have to override
the maven default values in the pom (see [1], [2] and [3] for a complete
description of the pom).

For example, to override the default source directory you would have
something like this in your pom:

  <project>
    ...
    <build>
 
<sourceDirectory>my/non/standard/source/directory</sourceDirectory>
      ...
    </build>
    ...
  </project>


II. Multiple Source Directories Per Project

Maven has a one-set-of-sources-per-project philosophy so if you really
need multiple source directories you are somewhat working against the
spirit of maven. Instead you should organize your project in multiple
modules (see below) and make them depend on each other.

If you really need to have more than one set of sources in a single
project you can attach an additional source directory using the
build-helper-maven-plugin [4].


III. Multi-Module Projects

Multi-Module projects are a set of maven projects (logical!!, not
necessarily physical on disk) organized as a tree. The nodes in the
logical tree are projects with a packaging of type pom with the leaves
of the tree containing the projects where you actual build your
artifacts (jar, war, ...).

A typical layout could look like this:

  my-app
  |-- pom.xml
  |-- subproject1
  |   |-- pom.xml
  |   `-- src
  |       `-- main
  |           `-- java
  |               `-- package1
  |                   `-- package2
  |                       `-- package3
  |                           `-- App.java
  `-- subproject1
      |-- pom.xml
      `-- src
          `-- main
              `-- java
                  `-- package1
                      `-- package2
                          `-- UtilityClass.java

The content of the poms would then look like this:

my-app/pom.xml:

  <project>
    <groupId>com.mycompany.app</groupId>
    <version>1.0-SNAPSHOT</version>
    <artifactId>app</artifactId>

    <packaging>pom</packaging>

    <modules>
      <module>subproject1</module>
      <module>subproject2</module>
    </modules>
  </project>

subproject1/pom.xml:

  <project>
    <groupId>com.mycompany.app</groupId>
    <artifactId>subproject1</artifactId>
    <version>1.0-SNAPSHOT</version>

    <packaging>jar</packaging>

    <dependencies>
      <dependency>
        <groupId>com.mycompany.app</groupId>
        <artifactId>subproject1</artifactId>
        <version>1.0-SNAPSHOT</version>
      </dependency>
    </dependencies>
  </project>

subproject2/pom.xml:

  <project>
    <groupId>com.mycompany.app</groupId>
    <artifactId>subproject2</artifactId>
    <version>1.0-SNAPSHOT</version>

    <packaging>jar</packaging>
  </project>



Hope this gets you started
-Tim

[1]
http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
[2] http://maven.apache.org/pom.html
[3] http://maven.apache.org/ref/current/maven-model/maven.html
[4] http://mojo.codehaus.org/build-helper-maven-plugin/howto.html



Am Samstag, den 21.04.2007, 20:42 +0530 schrieb Ramesh Babu Pokala -
TLS, Chennai:
> Hi,
> I was unable to compile multi directory project... I tried in 
> different ways (follwed from maven - getting started site) but still 
> did not get the solution.
>  
> I have directory structure like
>  
> 
>     abc
>      |
>      |___________src
>                            |
>                            |_____xxx
>                                         |
>                                         |______yyy
>                                                       |
>                                                       |_____zzz
>                                                                  |
>  
> |________aaa   -->  java files
>                                                                  |
>  
> |________bbb   -->  java files
>                                                                  |
>  
> |________ccc   --> java files
>  
> 
> Now i want to compile sources in all the packages xxx.yyy.zzz.aaa, 
> xxx.yyy.zzz.bbb  and  xxx.yyy.zzz.ccc.
>  
> 
> Tries......
>  
> 1)  Having only one POM in abc directory and packaging as jar.....
>  
> <project>
>  :
>  :
> <modelVersion>4.0.0</modelVersion>
> 
> <groupId>xxx.yyy.zzz</groupId>
> 
> <artifactId>abc</artifactId>
> 
> <packaging>jar</packaging>
> 
>  :
> 
> </project>
> 
>  Note: I did not mention sub packages aaa, bbb and ccc as modules in
the
> pom.   
>  
> Output : no sources to compile
>  
> 
> 2) Having Parent pom in abc and having separate poms in each and every

> package aaa,bb and ccc
>  
> parent pom:  mentioned packaging as pom, also mentioned modules
>  
> <project>
>  :
>  :
> <modelVersion>4.0.0</modelVersion>
> 
> <groupId>xxx.yyy.zzz</groupId>
> 
> <artifactId>abc</artifactId>
> 
> <packaging>pom</packaging>
> 
>  :
> 
> <modules>
> 
> <module>xxx.yyy.zzz.aaa</module>
> 
> <module>xxx.yyy.zzz.bbb</module>
> 
> <module>xxx.yyy.zzz.ccc</module>
> 
> </modules>
> 
> </project>
> 
>  
> Now i have child poms like
>  
> :
> :
> <parent>
> 
> <groupId>xxx.yyy.zzz</groupId>
> 
> <artifactId>abc</artifactId>
> 
> </parent>
> 
> <modelVersion>4.0.0</modelVersion>
> 
> <groupId>xxx.yyy.zzz.aaa</groupId>
> 
> <artifactId>aaa</artifactId>
> 
> <packaging>jar</packaging>
> 
> <name>aaa package</name>
> 
> :
> 
> : 
> 
>  
> 
> Output :  
>  
> 
> [INFO] Scanning for projects...
> [INFO]
> ----------------------------------------------------------------------
> --
> [ERROR] FATAL ERROR
> [INFO]
> ----------------------------------------------------------------------
> -- [INFO] Error building POM (may not be this project's POM).
>  
> 
> Project ID: unknown
>  
> Reason: Could not find the model file 'C:\Documents and 
> Settings\bpra\Desktop\SampleRCP\abc\xxx.yyy.zzz.
> .aaa\pom.xml'.
>  
> 
> Do I need to have pom in each of the packages aaa, bbb and ccc?
> what is the problem?
>  
> Can anyone please help me out?
>  
> 
> 
> Thanks you
> 
> Ramesh
> 
> 
> 
> DISCLAIMER:
> ----------------------------------------------------------------------
> -------------------------------------------------
> 
> The contents of this e-mail and any attachment(s) are confidential and
intended for the named recipient(s) only.
> It shall not attach any liability on the originator or HCL or its 
> affiliates. Any views or opinions presented in this email are solely
those of the author and may not necessarily reflect the opinions of HCL
or its affiliates.
> Any form of reproduction, dissemination, copying, disclosure, 
> modification, distribution and / or publication of this message 
> without the prior written consent of the author of this e-mail is 
> strictly prohibited. If you have received this email in error please
delete it and notify the sender immediately. Before opening any mail and
attachments please check them for viruses and defect.
> 
> ----------------------------------------------------------------------
> -------------------------------------------------


---------------------------------------------------------------------
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]

Reply via email to