maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benson Margulies <bimargul...@gmail.com>
Subject Re: Referencing a parent POM without relativePath
Date Sat, 24 Nov 2012 03:01:43 GMT
On Fri, Nov 23, 2012 at 8:45 PM, Eric Kolotyluk
<eric.kolotyluk@gmail.com> wrote:
> OK, I have added the following to our Corporate POM. Hopefully I, and
> others, won't fall into this trap again.
>
> I still think the <userFriendly>true</userFriendly> version of Maven would
> just do the right thing when there is no <relativePath/> element, and there
> is no ../pom.xml. I can see no value in the current Maven behavior of
> throwing an error the way it does.

Eric,

It does what you want. If it is not doing it for you, there's
something wrong with your environment.

None of our POMs have explicit relativePath elements, and they all
work fine. The empty element is only needed when there *is* a
../pom.xml to avoid, but you are writing that you don't have one.



>
> Cheers, Eric
>
>    <!--
>        No parent for this POM! This is parent of all Kodak projects.
>        Top Level Project POMs should reference this POM with
>
>        <parent>
>          <groupId>com</groupId>
>          <artifactId>kodak</artifactId>
>          <version>1.0.0</version>
>          <relativePath/>
>        </parent>
>
>        The empty <relativePath/> element is necessary because com:kodak is a
> seperate project that will never be in
>        the parent directory of your project. If <relativePath/> is missing,
> Maven will look in ../ by default, and
>        then throw an error because it cannot find ../pom.xml (and you should
> never have ../pom.xml).
>    -->
>
>
> On 2012-11-23 12:47 PM, David Karr wrote:
>>
>> I had also discovered the difference between the missing vs. empty
>> "relativePath" element.  Although it was initially disconcerting that I
>> had
>> to specify an empty "relativePath" element to get what I assumed was the
>> most reasonable behavior, I can also see the logic of the alternative with
>> the default value. I prefer to separate the notion of "parent" pom from
>> "aggregator" pom (a pom with a list of modules), but if you use a strategy
>> that combines them, then the default value is more likely.
>>
>>
>> On Fri, Nov 23, 2012 at 12:34 PM, Eric Kolotyluk
>> <eric.kolotyluk@gmail.com>wrote:
>>
>>> DOH! I retract that previous message. I forgot to open my VPN connection
>>> first.
>>>
>>> Putting <relativePath/> in the POM does work!
>>>
>>> So, would it be unreasonable if Maven treated the absence of the
>>> <relativePath> element the same as <relativePath/>. That would make
it
>>> more
>>> user friendly as far as I am concerned.
>>>
>>> Also, it was m2e that built the original project POM, and it did not put
>>> <relativePath/>  in the POM.
>>>
>>> Cheers, Eric
>>>
>>>
>>>
>>> On 2012-11-23 12:22 PM, Eric Kolotyluk wrote:
>>>
>>>> I tried putting <relativePath/> in my POM, but it does not fix things.
>>>>
>>>>    <parent>
>>>>      <groupId>com</groupId>
>>>>      <artifactId>kodak</artifactId>
>>>>      <version>0.0.11-SNAPSHOT</**version>
>>>>      <relativePath/>
>>>>    </parent>
>>>>
>>>> I still get
>>>>
>>>> C:\Users\Eric\workspace\tree-**combo-box>mvn clean
>>>> [INFO] Scanning for projects...
>>>> Downloading:
>>>> http://repository.ca.kodak.**com:8082/nexus/content/groups/*
>>>>
>>>> *public/com/kodak/0.0.11-**SNAPSHOT/maven-metadata.xml<http://repository.ca.kodak.com:8082/nexus/content/groups/public/com/kodak/0.0.11-SNAPSHOT/maven-metadata.xml>
>>>> [WARNING] Could not transfer metadata
>>>> com:kodak:0.0.11-SNAPSHOT/**maven-metadata.xml
>>>> from/to nexus (http://repository.ca.kodak.**
>>>>
>>>> com:8082/nexus/content/groups/**public<http://repository.ca.kodak.com:8082/nexus/content/groups/public>):
>>>> repository.ca.kodak.com
>>>> Downloading:
>>>> http://repository.ca.kodak.**com:8082/nexus/content/groups/*
>>>>
>>>> *public/com/kodak/0.0.11-**SNAPSHOT/kodak-0.0.11-**SNAPSHOT.pom<http://repository.ca.kodak.com:8082/nexus/content/groups/public/com/kodak/0.0.11-SNAPSHOT/kodak-0.0.11-SNAPSHOT.pom>
>>>> [ERROR] The build could not read 1 project -> [Help 1]
>>>> [ERROR]
>>>> [ERROR]   The project
>>>> net.kolotyluk.experiment:tree-**combo-box:0.0.1-SNAPSHOT
>>>> (C:\Users\Eric\workspace\tree-**combo-box\pom.xml) has 1 error
>>>> [ERROR]     Non-resolvable parent POM: Could not transfer artifact
>>>> com:kodak:pom:0.0.11-SNAPSHOT from/to nexus
>>>> (http://repository.ca.kodak.*
>>>>
>>>> *com:8082/nexus/content/groups/**public<http://repository.ca.kodak.com:8082/nexus/content/groups/public>):
>>>> repository.ca.kodak.com and 'parent.relativePath' points at no local POM
>>>> @ line 9, column 11: Unknown host repository.ca.kodak.com -> [Help 2]
>>>> [ERROR]
>>>> [ERROR] To see the full stack trace of the errors, re-run Maven with the
>>>> -e switch.
>>>> [ERROR] Re-run Maven using the -X switch to enable full debug logging.
>>>> [ERROR]
>>>> [ERROR] For more information about the errors and possible solutions,
>>>> please read the following articles:
>>>> [ERROR] [Help 1] http://cwiki.apache.org/**confluence/display/MAVEN/**
>>>>
>>>> ProjectBuildingException<http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException>
>>>> [ERROR] [Help 2] http://cwiki.apache.org/**confluence/display/MAVEN/**
>>>>
>>>> UnresolvableModelException<http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException>
>>>>
>>>> It looks like Maven wants to download the Corporate POM because it sees
>>>> it in Nexus, but craps out because it does not like the Project POM.
>>>> Maven
>>>> seems pretty certain that it wants parent.relativePath to point to a
>>>> local
>>>> POM.
>>>>
>>>> Is there a <userFriendly>true</**userFriendly> switch I can turn
on
>>>> somewhere in Maven ;-)
>>>>
>>>> Cheers, Eric
>>>>
>>>> On 2012-11-23 9:05 AM, Laird Nelson wrote:
>>>>
>>>>> On Fri, Nov 23, 2012 at 11:22 AM, Benson Margulies <
>>>>> bimargulies@gmail.com>wrote:
>>>>>
>>>>>   You just name the G/A/V and no relativePath, and Maven will download
>>>>>>
>>>>>> just as it would a dependency.
>>>>>>
>>>>>>   Well, not exactly; if there is no <relativePath> element
present,
>>>>>> then
>>>>>
>>>>> Maven behaves as though <relativePath>../pom.xml</**relativePath>
were
>>>>> specified.  If that file is a working copy that has not been refreshed
>>>>> from
>>>>> the SCM, then problems can ensue.
>>>>>
>>>>> I recall that someone mentioned specifying a relative path like this:
>>>>>
>>>>> <relativePath/>
>>>>>
>>>>>
>>>>> ...and that that was the only way to force Maven to truly resolve the
>>>>> pom
>>>>> from the repository, but I don't know if this is in fact true.
>>>>>
>>>>> Best,
>>>>> Laird
>>>>>
>>>>>
>>> ------------------------------**------------------------------**---------
>>> To unsubscribe, e-mail:
>>> users-unsubscribe@maven.**apache.org<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
>

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


Mime
View raw message