You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Andreas Gies <an...@soa-knowledge.net> on 2007/12/05 15:33:51 UTC
URL's from master POM
Hello,
i am managing multiple projects form y company using maven 2.0.7. For
that purpose I have created a master pom, that contains the following
section: (Pom A)
...
<modelVersion>4.0.0</modelVersion>
<groupId>com.sonicsw.pso</groupId>
<artifactId>sonic-maven-parent</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<name>Maven Definitions for all Sonic PSO projects</name>
<url>https://www.soa-knowledge.net/projects/${urlGroup}/${urlId}/${proje
ct.version}/${urlId}</url>
<properties>
<urlGroup>${project.groupId}</urlGroup>
<urlId>${project.artifactId}</urlId>
</properties>
...
>>From that I have inherited another pom (POM B), that does not specify
anything for an URL and serves as a base for a part of my projects. That
pom has the following coordinates:
...
<modelVersion>4.0.0</modelVersion>
<groupId>com.sonicsw.pso</groupId>
<artifactId>services-maven-parent</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<name>Maven Definitions for all Sonic ESB Services</name>
<parent>
<groupId>com.sonicsw.pso</groupId>
<artifactId>sonic-maven-parent</artifactId>
<version>1.0</version>
</parent>
...
My project now inherits from POM B, which in turn inherits from POM A.
<parent>
<groupId>com.sonicsw.pso</groupId>
<artifactId>services-maven-parent</artifactId>
<version>1.0</version>
</parent>
<groupId>com.sonicsw.pso.services</groupId>
<artifactId>WSMQService</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Websphere MQ connectivity services</name>
My problem is now in the definition of URLS (for automatically
generating web urls, scm urls, ftp urls etc...)
When I define no url in my project, the generated url is:
https://www.soa-knowledge.net/projects/com.sonicsw.pso.services/WSMQServ
ice/1.0-SNAPSHOT/WSMQService/services-maven-parent/WSMQService
However, if I add the url definition into my project
<parent>
<groupId>com.sonicsw.pso</groupId>
<artifactId>services-maven-parent</artifactId>
<version>1.0</version>
</parent>
<groupId>com.sonicsw.pso.services</groupId>
<artifactId>WSMQService</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Websphere MQ connectivity services</name>
<url>https://www.soa-knowledge.net/projects/${urlGroup}/${urlId}/${proje
ct.version}/${urlId}</url>
the url is
https://www.soa-knowledge.net/projects/com.sonicsw.pso.services/WSMQServ
ice/1.0-SNAPSHOT/WSMQService
which is what I intended.
I would like to avoid repeating the URL definitions in each sub project
since this is what I had created the masters for in the first place.
Could somebody explain the behaviour here ? - Can the append be avoided
?
Thank you very much in advance
Andreas
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: URL's from master POM
Posted by Kalle Korhonen <ka...@gmail.com>.
I only define the absolute web url once in my parent, in child modules I
have something like:
<url>/mychildmodule</url>
which works fine for me. SCM and distribution urls I only define once in the
parent and use SVN as the SCM with a standard directory layout, with
everything working perfectly.
Kalle
On 12/5/07, Andreas Gies <an...@soa-knowledge.net> wrote:
>
> Hi Jim,
>
> thanks for your answer.
>
> 1) This is how I am working around it today. I have a property
> defined in master pom that resolves to the correct urls. However, I have
> to redefine the setting of the url in each project.
> Otherwise I have the appendix to the URL I have described.
>
> 2) I have redefined the groupId and artifactId simply to clarify
> for me whether the problem was a bug related to resolving those
> properties. With the approach I have now that redefinition would be
> obsolete.
>
> Best regards
> Andreas
>
> Jim Sellers schrieb:
> > A couple of questions:
> >
> > 1) Why don't you specify
> > https://www.soa-knowledge.net/projects/<
> https://www.soa-knowledge.net/projects/$%7BurlGroup%7D/$%7BurlId%7D/$%7Bproje
> >as
> > a property?
> > 2) Why did you redefine the groupId and artifact id?
> >
> > I think (unfortunately) that the groupId and artifact id are resolved to
> the
> > pom where they are declared. You may have to re-define it in all the
> > sub-projects (which was your original question).
> >
> > It could be something like:
> > <url>${serverUrl}${project.groupId}/${project.artifactId}/${
> project.version
> > }/${project.artifactId}</url>
> >
> > :-/
> >
> > On 12/5/07, Andreas Gies <an...@soa-knowledge.net> wrote:
> >
> >> Hello,
> >>
> >>
> >>
> >> i am managing multiple projects form y company using maven 2.0.7. For
> >> that purpose I have created a master pom, that contains the following
> >> section: (Pom A)
> >>
> >>
> >>
> >> ...
> >>
> >> <modelVersion>4.0.0</modelVersion>
> >>
> >> <groupId>com.sonicsw.pso</groupId>
> >>
> >> <artifactId>sonic-maven-parent</artifactId>
> >>
> >> <version>1.0</version>
> >>
> >> <packaging>pom</packaging>
> >>
> >> <name>Maven Definitions for all Sonic PSO projects</name>
> >>
> >>
> >> <url>
> https://www.soa-knowledge.net/projects/${urlGroup}/${urlId}/${proje
> >> ct.version}/${urlId}</url>
> >>
> >>
> >>
> >> <properties>
> >>
> >> <urlGroup>${project.groupId}</urlGroup>
> >>
> >> <urlId>${project.artifactId}</urlId>
> >>
> >> </properties>
> >>
> >> ...
> >>
> >>
> >>
> >>
> >>
> >> >From that I have inherited another pom (POM B), that does not specify
> >> anything for an URL and serves as a base for a part of my projects.
> That
> >> pom has the following coordinates:
> >>
> >>
> >>
> >> ...
> >>
> >> <modelVersion>4.0.0</modelVersion>
> >>
> >> <groupId>com.sonicsw.pso</groupId>
> >>
> >> <artifactId>services-maven-parent</artifactId>
> >>
> >> <version>1.0</version>
> >>
> >> <packaging>pom</packaging>
> >>
> >> <name>Maven Definitions for all Sonic ESB Services</name>
> >>
> >>
> >>
> >> <parent>
> >>
> >> <groupId>com.sonicsw.pso</groupId>
> >>
> >> <artifactId>sonic-maven-parent</artifactId>
> >>
> >> <version>1.0</version>
> >>
> >> </parent>
> >>
> >> ...
> >>
> >>
> >>
> >> My project now inherits from POM B, which in turn inherits from POM A.
> >>
> >>
> >>
> >> <parent>
> >>
> >> <groupId>com.sonicsw.pso</groupId>
> >>
> >> <artifactId>services-maven-parent</artifactId>
> >>
> >> <version>1.0</version>
> >>
> >> </parent>
> >>
> >>
> >>
> >> <groupId>com.sonicsw.pso.services</groupId>
> >>
> >> <artifactId>WSMQService</artifactId>
> >>
> >> <packaging>jar</packaging>
> >>
> >> <version>1.0-SNAPSHOT</version>
> >>
> >> <name>Websphere MQ connectivity services</name>
> >>
> >>
> >>
> >> My problem is now in the definition of URLS (for automatically
> >> generating web urls, scm urls, ftp urls etc...)
> >>
> >>
> >>
> >> When I define no url in my project, the generated url is:
> >>
> >>
> >>
> >>
> https://www.soa-knowledge.net/projects/com.sonicsw.pso.services/WSMQServ
> >> ice/1.0-SNAPSHOT/WSMQService/services-maven-parent/WSMQService
> >>
> >>
> >>
> >> However, if I add the url definition into my project
> >>
> >>
> >>
> >> <parent>
> >>
> >> <groupId>com.sonicsw.pso</groupId>
> >>
> >> <artifactId>services-maven-parent</artifactId>
> >>
> >> <version>1.0</version>
> >>
> >> </parent>
> >>
> >>
> >>
> >> <groupId>com.sonicsw.pso.services</groupId>
> >>
> >> <artifactId>WSMQService</artifactId>
> >>
> >> <packaging>jar</packaging>
> >>
> >> <version>1.0-SNAPSHOT</version>
> >>
> >> <name>Websphere MQ connectivity services</name>
> >>
> >>
> >> <url>
> https://www.soa-knowledge.net/projects/${urlGroup}/${urlId}/${proje
> >> ct.version}/${urlId}</url>
> >>
> >>
> >>
> >> the url is
> >>
> >>
> >>
> >>
> https://www.soa-knowledge.net/projects/com.sonicsw.pso.services/WSMQServ
> >> ice/1.0-SNAPSHOT/WSMQService
> >>
> >>
> >>
> >> which is what I intended.
> >>
> >>
> >>
> >>
> >>
> >> I would like to avoid repeating the URL definitions in each sub project
> >> since this is what I had created the masters for in the first place.
> >>
> >> Could somebody explain the behaviour here ? - Can the append be avoided
> >> ?
> >>
> >>
> >>
> >>
> >>
> >> Thank you very much in advance
> >>
> >>
> >>
> >> Andreas
> >>
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> 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
>
>
Re: URL's from master POM
Posted by Andreas Gies <an...@soa-knowledge.net>.
Hi Jim,
thanks for your answer.
1) This is how I am working around it today. I have a property
defined in master pom that resolves to the correct urls. However, I have
to redefine the setting of the url in each project.
Otherwise I have the appendix to the URL I have described.
2) I have redefined the groupId and artifactId simply to clarify
for me whether the problem was a bug related to resolving those
properties. With the approach I have now that redefinition would be
obsolete.
Best regards
Andreas
Jim Sellers schrieb:
> A couple of questions:
>
> 1) Why don't you specify
> https://www.soa-knowledge.net/projects/<https://www.soa-knowledge.net/projects/$%7BurlGroup%7D/$%7BurlId%7D/$%7Bproje>as
> a property?
> 2) Why did you redefine the groupId and artifact id?
>
> I think (unfortunately) that the groupId and artifact id are resolved to the
> pom where they are declared. You may have to re-define it in all the
> sub-projects (which was your original question).
>
> It could be something like:
> <url>${serverUrl}${project.groupId}/${project.artifactId}/${project.version
> }/${project.artifactId}</url>
>
> :-/
>
> On 12/5/07, Andreas Gies <an...@soa-knowledge.net> wrote:
>
>> Hello,
>>
>>
>>
>> i am managing multiple projects form y company using maven 2.0.7. For
>> that purpose I have created a master pom, that contains the following
>> section: (Pom A)
>>
>>
>>
>> ...
>>
>> <modelVersion>4.0.0</modelVersion>
>>
>> <groupId>com.sonicsw.pso</groupId>
>>
>> <artifactId>sonic-maven-parent</artifactId>
>>
>> <version>1.0</version>
>>
>> <packaging>pom</packaging>
>>
>> <name>Maven Definitions for all Sonic PSO projects</name>
>>
>>
>> <url>https://www.soa-knowledge.net/projects/${urlGroup}/${urlId}/${proje
>> ct.version}/${urlId}</url>
>>
>>
>>
>> <properties>
>>
>> <urlGroup>${project.groupId}</urlGroup>
>>
>> <urlId>${project.artifactId}</urlId>
>>
>> </properties>
>>
>> ...
>>
>>
>>
>>
>>
>> >From that I have inherited another pom (POM B), that does not specify
>> anything for an URL and serves as a base for a part of my projects. That
>> pom has the following coordinates:
>>
>>
>>
>> ...
>>
>> <modelVersion>4.0.0</modelVersion>
>>
>> <groupId>com.sonicsw.pso</groupId>
>>
>> <artifactId>services-maven-parent</artifactId>
>>
>> <version>1.0</version>
>>
>> <packaging>pom</packaging>
>>
>> <name>Maven Definitions for all Sonic ESB Services</name>
>>
>>
>>
>> <parent>
>>
>> <groupId>com.sonicsw.pso</groupId>
>>
>> <artifactId>sonic-maven-parent</artifactId>
>>
>> <version>1.0</version>
>>
>> </parent>
>>
>> ...
>>
>>
>>
>> My project now inherits from POM B, which in turn inherits from POM A.
>>
>>
>>
>> <parent>
>>
>> <groupId>com.sonicsw.pso</groupId>
>>
>> <artifactId>services-maven-parent</artifactId>
>>
>> <version>1.0</version>
>>
>> </parent>
>>
>>
>>
>> <groupId>com.sonicsw.pso.services</groupId>
>>
>> <artifactId>WSMQService</artifactId>
>>
>> <packaging>jar</packaging>
>>
>> <version>1.0-SNAPSHOT</version>
>>
>> <name>Websphere MQ connectivity services</name>
>>
>>
>>
>> My problem is now in the definition of URLS (for automatically
>> generating web urls, scm urls, ftp urls etc...)
>>
>>
>>
>> When I define no url in my project, the generated url is:
>>
>>
>>
>> https://www.soa-knowledge.net/projects/com.sonicsw.pso.services/WSMQServ
>> ice/1.0-SNAPSHOT/WSMQService/services-maven-parent/WSMQService
>>
>>
>>
>> However, if I add the url definition into my project
>>
>>
>>
>> <parent>
>>
>> <groupId>com.sonicsw.pso</groupId>
>>
>> <artifactId>services-maven-parent</artifactId>
>>
>> <version>1.0</version>
>>
>> </parent>
>>
>>
>>
>> <groupId>com.sonicsw.pso.services</groupId>
>>
>> <artifactId>WSMQService</artifactId>
>>
>> <packaging>jar</packaging>
>>
>> <version>1.0-SNAPSHOT</version>
>>
>> <name>Websphere MQ connectivity services</name>
>>
>>
>> <url>https://www.soa-knowledge.net/projects/${urlGroup}/${urlId}/${proje
>> ct.version}/${urlId}</url>
>>
>>
>>
>> the url is
>>
>>
>>
>> https://www.soa-knowledge.net/projects/com.sonicsw.pso.services/WSMQServ
>> ice/1.0-SNAPSHOT/WSMQService
>>
>>
>>
>> which is what I intended.
>>
>>
>>
>>
>>
>> I would like to avoid repeating the URL definitions in each sub project
>> since this is what I had created the masters for in the first place.
>>
>> Could somebody explain the behaviour here ? - Can the append be avoided
>> ?
>>
>>
>>
>>
>>
>> Thank you very much in advance
>>
>>
>>
>> Andreas
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> 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
Re: URL's from master POM
Posted by Jim Sellers <ji...@gmail.com>.
A couple of questions:
1) Why don't you specify
https://www.soa-knowledge.net/projects/<https://www.soa-knowledge.net/projects/$%7BurlGroup%7D/$%7BurlId%7D/$%7Bproje>as
a property?
2) Why did you redefine the groupId and artifact id?
I think (unfortunately) that the groupId and artifact id are resolved to the
pom where they are declared. You may have to re-define it in all the
sub-projects (which was your original question).
It could be something like:
<url>${serverUrl}${project.groupId}/${project.artifactId}/${project.version
}/${project.artifactId}</url>
:-/
On 12/5/07, Andreas Gies <an...@soa-knowledge.net> wrote:
>
> Hello,
>
>
>
> i am managing multiple projects form y company using maven 2.0.7. For
> that purpose I have created a master pom, that contains the following
> section: (Pom A)
>
>
>
> ...
>
> <modelVersion>4.0.0</modelVersion>
>
> <groupId>com.sonicsw.pso</groupId>
>
> <artifactId>sonic-maven-parent</artifactId>
>
> <version>1.0</version>
>
> <packaging>pom</packaging>
>
> <name>Maven Definitions for all Sonic PSO projects</name>
>
>
> <url>https://www.soa-knowledge.net/projects/${urlGroup}/${urlId}/${proje
> ct.version}/${urlId}</url>
>
>
>
> <properties>
>
> <urlGroup>${project.groupId}</urlGroup>
>
> <urlId>${project.artifactId}</urlId>
>
> </properties>
>
> ...
>
>
>
>
>
> >From that I have inherited another pom (POM B), that does not specify
> anything for an URL and serves as a base for a part of my projects. That
> pom has the following coordinates:
>
>
>
> ...
>
> <modelVersion>4.0.0</modelVersion>
>
> <groupId>com.sonicsw.pso</groupId>
>
> <artifactId>services-maven-parent</artifactId>
>
> <version>1.0</version>
>
> <packaging>pom</packaging>
>
> <name>Maven Definitions for all Sonic ESB Services</name>
>
>
>
> <parent>
>
> <groupId>com.sonicsw.pso</groupId>
>
> <artifactId>sonic-maven-parent</artifactId>
>
> <version>1.0</version>
>
> </parent>
>
> ...
>
>
>
> My project now inherits from POM B, which in turn inherits from POM A.
>
>
>
> <parent>
>
> <groupId>com.sonicsw.pso</groupId>
>
> <artifactId>services-maven-parent</artifactId>
>
> <version>1.0</version>
>
> </parent>
>
>
>
> <groupId>com.sonicsw.pso.services</groupId>
>
> <artifactId>WSMQService</artifactId>
>
> <packaging>jar</packaging>
>
> <version>1.0-SNAPSHOT</version>
>
> <name>Websphere MQ connectivity services</name>
>
>
>
> My problem is now in the definition of URLS (for automatically
> generating web urls, scm urls, ftp urls etc...)
>
>
>
> When I define no url in my project, the generated url is:
>
>
>
> https://www.soa-knowledge.net/projects/com.sonicsw.pso.services/WSMQServ
> ice/1.0-SNAPSHOT/WSMQService/services-maven-parent/WSMQService
>
>
>
> However, if I add the url definition into my project
>
>
>
> <parent>
>
> <groupId>com.sonicsw.pso</groupId>
>
> <artifactId>services-maven-parent</artifactId>
>
> <version>1.0</version>
>
> </parent>
>
>
>
> <groupId>com.sonicsw.pso.services</groupId>
>
> <artifactId>WSMQService</artifactId>
>
> <packaging>jar</packaging>
>
> <version>1.0-SNAPSHOT</version>
>
> <name>Websphere MQ connectivity services</name>
>
>
> <url>https://www.soa-knowledge.net/projects/${urlGroup}/${urlId}/${proje
> ct.version}/${urlId}</url>
>
>
>
> the url is
>
>
>
> https://www.soa-knowledge.net/projects/com.sonicsw.pso.services/WSMQServ
> ice/1.0-SNAPSHOT/WSMQService
>
>
>
> which is what I intended.
>
>
>
>
>
> I would like to avoid repeating the URL definitions in each sub project
> since this is what I had created the masters for in the first place.
>
> Could somebody explain the behaviour here ? - Can the append be avoided
> ?
>
>
>
>
>
> Thank you very much in advance
>
>
>
> Andreas
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>