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