You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by lightbulb432 <ve...@hotmail.com> on 2007/05/03 16:26:04 UTC

Re: Multi-module not picking up modules

I have a question about the artifacts under
http://repo1.maven.org/maven2/org/apache/axis2, and the .pom at
http://repo1.maven.org/maven2/org/apache/axis2/axis2/1.2/axis2-1.2.pom/

My project depends on the axis2 artifact. When I do a mvn deploy, the
deployed WAR gets packaged including all of its JARs specified in <modules>
(e.g. axis2-adb, axis2-codegen, etc...). However, there are two problems:

1) When I do a mvn eclipse:eclipse, these other JARs are not added to the
.classpath file in Eclipse.

2) These other JARs are not automatically put into my local repository. (I
assume this problem causes the previous problem, where even if .classpath
contained paths to those JARs, they wouldn't be in the repository to begin
with.)

How can I solve these problems? Thanks.



franz see wrote:
> 
> Good day,
> 
> That's because you're looking at the binary repository, and not the source
> repository :-)
> 
> checkout the code from its source repository then reasses it again :-)
> ...as to where it is, I don't know. Try googling for it :-)
> 
> The basedir is not
> http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/axis2/.
> It is the one that contains the pom.xml of axis2 in the source repository.
> 
> If you take a look at the source, you would probably see something like
> 
> .
>  |-- pom.xml
>  `-- modules
>       `-- parent
>            `-- pom.xml
> 
> ( note: you will not see this directory structure in the binary
> repository. it's in the source repository ).
> 
> Furthermore, users use pom.xml ( this is where you do your mvn
> whatever:command ), while maven uses the .pom files ( ...i think for
> resolving dependencies ).
> 
> Cheers,
> Franz
> 
> 
> lightbulb432 wrote:
>> 
>> Thanks for your response.
>> 
>> By basedir do you mean the path that directly contains the artifacts?
>> e.g.
>> http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/axis2/
>> in the case where org.apache.axis2 is the groupId?
>> 
>> In this case, is the axis2-1.1.pom wrong, or am I mistaken? Because in
>> that .pom file, it refers to
>> <module>modules/parent</module>
>> 
>> Shouldn't it refer to
>> <module>../axis2-parent</module>
>> because that's how it looks to me to be structured in their repository.
>> 
>> So it seems like 2 mistakes have been made - there's no modules directory
>> underneath the axis2 artifact directory, and it doesn't seem to be called
>> parent, but rather axis2-parent (or is their way of writing it correct
>> because of some default prefixing or something like that?)
>> 
>> What also confuses me is that for each of the modules, for example
>> "java2wsdl" at
>> http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/axis2/axis2-java2wsdl/1.1/
>> there is no pom.xml! Only a axis2-java2wsdl-1.1.pom...but that file looks
>> pretty close to a pom.xml...?
>> 
>> Wow, I'm so confused. Please help! Thanks.
>> 
>> 
>> 
>> franz see wrote:
>>> 
>>> Good day,
>>> 
>>> The <modules/> tag actually refers to directories from the ${basedir}.
>>> Thus if you have  
>>> 
>>> <project>
>>>   ...
>>>   <modules>
>>>     ...
>>>     <module>modules/parent</module>
>>>     <module>modules/java2wsdl</module>
>>>   </modules
>>> </project>
>>> 
>>> Maven will try to find ${basedir}/modules/parent/pom.xml and
>>> ${basedir}/modules/java2wsdl/pom.xml.
>>> 
>>> As for the difference between pom.xml and axis2-1.1.pom, ...the former
>>> is the one maven uses for its build and can be found in your source,
>>> while the latter is generated by maven when you're installing or
>>> deploying a maven project to a repository ( which would also be used by
>>> maven in some of its processes ).
>>> 
>>> As for the packages, try looking at the modules/xxx/target/ for the
>>> generated binaries. If you don't see it there, try looking at the output
>>> log.
>>> 
>>> If a module is a jar, then you'd probably see something like
>>> 
>>> [INFO] Building <some-module>
>>> ...
>>> [INFO] jar:jar
>>> ...
>>> [INFO] Building jar: <path to the generated jar>
>>> 
>>> Then from there, you can take a look at the <path to the generated jar>
>>> to see whether it really was created.
>>> 
>>> The same goes for non-jar modules...you would have something like
>>> 
>>> [INFO] Building <some-module>
>>> ...
>>> [INFO] <goal to build the binary>
>>> ...
>>> [INFO] Building <binary type>: <path to the generated binary>
>>> 
>>> Cheers,
>>> Franz
>>> 
>>> 
>>> lightbulb432 wrote:
>>>> 
>>>> I want to build a multi-module project from the following pom, but I'm
>>>> not sure if I'm doing it correctly. The POM of the containing project
>>>> is below:
>>>> 
>>>> http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/axis2/axis2/1.1/axis2-1.1.pom
>>>> 
>>>> When I do a "mvn package" in that directly after downloading it, it
>>>> only packages itself but not the specified modules. I'm not sure why
>>>> the modules start with "modules/" and don't contain a prefix of
>>>> "axis2-", which I'd guess it should be based on the naming of what the
>>>> other modules are listed as (if you go up a couple of levels from the
>>>> POM link above)
>>>> 
>>>> Also, what's the difference between a pom.xml and a axis2-1.1.pom?
>>>> 
>>>> Your help would be really appreciated.
>>>> 
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Multi-module-not-picking-up-modules-tf3566005s177.html#a10305522
Sent from the Maven - Users mailing list archive at Nabble.com.


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


Re: Multi-module not picking up modules

Posted by Wayne Fay <wa...@gmail.com>.
First off... I think you're confused about some things... modules are
not dependencies! Module is simply a source code way to specify
children of a given parent module, to simplify the build process.

I'm surprised (and almost don't believe you) that your WAR is getting
packaged with all of the axis2 modules. I will need to try a little
test here and see what's going on. It sounds like a bug in WAR plugin
if this is actually happening.

The eclipse plugin should not add the modules of a dependency artifact
to the .classpath. This is correct behavior.

The modules of a dependency artifact should not be automatically
installed into your local repo. This only happens with actual
dependencies. So this is also correct behavior.

If you need to use all those axis2 modules, then you need to add them
as <dependencies/> in your own project. But I would generally doubt
that you actually need to use ALL of them -- more likely, you just
need a couple of them.

Wayne

On 5/3/07, lightbulb432 <ve...@hotmail.com> wrote:
>
> I have a question about the artifacts under
> http://repo1.maven.org/maven2/org/apache/axis2, and the .pom at
> http://repo1.maven.org/maven2/org/apache/axis2/axis2/1.2/axis2-1.2.pom/
>
> My project depends on the axis2 artifact. When I do a mvn deploy, the
> deployed WAR gets packaged including all of its JARs specified in <modules>
> (e.g. axis2-adb, axis2-codegen, etc...). However, there are two problems:
>
> 1) When I do a mvn eclipse:eclipse, these other JARs are not added to the
> .classpath file in Eclipse.
>
> 2) These other JARs are not automatically put into my local repository. (I
> assume this problem causes the previous problem, where even if .classpath
> contained paths to those JARs, they wouldn't be in the repository to begin
> with.)
>
> How can I solve these problems? Thanks.
>
>
>
> franz see wrote:
> >
> > Good day,
> >
> > That's because you're looking at the binary repository, and not the source
> > repository :-)
> >
> > checkout the code from its source repository then reasses it again :-)
> > ...as to where it is, I don't know. Try googling for it :-)
> >
> > The basedir is not
> >
> http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/axis2/.
> > It is the one that contains the pom.xml of axis2 in the source repository.
> >
> > If you take a look at the source, you would probably see something like
> >
> > .
> >  |-- pom.xml
> >  `-- modules
> >       `-- parent
> >            `-- pom.xml
> >
> > ( note: you will not see this directory structure in the binary
> > repository. it's in the source repository ).
> >
> > Furthermore, users use pom.xml ( this is where you do your mvn
> > whatever:command ), while maven uses the .pom files ( ...i think for
> > resolving dependencies ).
> >
> > Cheers,
> > Franz
> >
> >
> > lightbulb432 wrote:
> >>
> >> Thanks for your response.
> >>
> >> By basedir do you mean the path that directly contains the artifacts?
> >> e.g.
> >>
> http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/axis2/
> >> in the case where org.apache.axis2 is the groupId?
> >>
> >> In this case, is the axis2-1.1.pom wrong, or am I mistaken? Because in
> >> that .pom file, it refers to
> >> <module>modules/parent</module>
> >>
> >> Shouldn't it refer to
> >> <module>../axis2-parent</module>
> >> because that's how it looks to me to be structured in their repository.
> >>
> >> So it seems like 2 mistakes have been made - there's no modules directory
> >> underneath the axis2 artifact directory, and it doesn't seem to be called
> >> parent, but rather axis2-parent (or is their way of writing it correct
> >> because of some default prefixing or something like that?)
> >>
> >> What also confuses me is that for each of the modules, for example
> >> "java2wsdl" at
> >>
> http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/axis2/axis2-java2wsdl/1.1/
> >> there is no pom.xml! Only a axis2-java2wsdl-1.1.pom...but that file looks
> >> pretty close to a pom.xml...?
> >>
> >> Wow, I'm so confused. Please help! Thanks.
> >>
> >>
> >>
> >> franz see wrote:
> >>>
> >>> Good day,
> >>>
> >>> The <modules/> tag actually refers to directories from the ${basedir}.
> >>> Thus if you have
> >>>
> >>> <project>
> >>>   ...
> >>>   <modules>
> >>>     ...
> >>>     <module>modules/parent</module>
> >>>     <module>modules/java2wsdl</module>
> >>>   </modules
> >>> </project>
> >>>
> >>> Maven will try to find ${basedir}/modules/parent/pom.xml and
> >>> ${basedir}/modules/java2wsdl/pom.xml.
> >>>
> >>> As for the difference between pom.xml and axis2-1.1.pom, ...the former
> >>> is the one maven uses for its build and can be found in your source,
> >>> while the latter is generated by maven when you're installing or
> >>> deploying a maven project to a repository ( which would also be used by
> >>> maven in some of its processes ).
> >>>
> >>> As for the packages, try looking at the modules/xxx/target/ for the
> >>> generated binaries. If you don't see it there, try looking at the output
> >>> log.
> >>>
> >>> If a module is a jar, then you'd probably see something like
> >>>
> >>> [INFO] Building <some-module>
> >>> ...
> >>> [INFO] jar:jar
> >>> ...
> >>> [INFO] Building jar: <path to the generated jar>
> >>>
> >>> Then from there, you can take a look at the <path to the generated jar>
> >>> to see whether it really was created.
> >>>
> >>> The same goes for non-jar modules...you would have something like
> >>>
> >>> [INFO] Building <some-module>
> >>> ...
> >>> [INFO] <goal to build the binary>
> >>> ...
> >>> [INFO] Building <binary type>: <path to the generated binary>
> >>>
> >>> Cheers,
> >>> Franz
> >>>
> >>>
> >>> lightbulb432 wrote:
> >>>>
> >>>> I want to build a multi-module project from the following pom, but I'm
> >>>> not sure if I'm doing it correctly. The POM of the containing project
> >>>> is below:
> >>>>
> >>>>
> http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/axis2/axis2/1.1/axis2-1.1.pom
> >>>>
> >>>> When I do a "mvn package" in that directly after downloading it, it
> >>>> only packages itself but not the specified modules. I'm not sure why
> >>>> the modules start with "modules/" and don't contain a prefix of
> >>>> "axis2-", which I'd guess it should be based on the naming of what the
> >>>> other modules are listed as (if you go up a couple of levels from the
> >>>> POM link above)
> >>>>
> >>>> Also, what's the difference between a pom.xml and a axis2-1.1.pom?
> >>>>
> >>>> Your help would be really appreciated.
> >>>>
> >>>
> >>>
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Multi-module-not-picking-up-modules-tf3566005s177.html#a10305522
> Sent from the Maven - Users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

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