You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Monkey (Jira)" <ji...@apache.org> on 2021/01/28 12:15:00 UTC
[jira] [Updated] (MNG-7088) A property which points to pom.xml own
directory
[ https://issues.apache.org/jira/browse/MNG-7088?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Monkey updated MNG-7088:
------------------------
Description:
If the problems as the one below cannot be resolved cleanly, would adding a property which always points to pom.xml own directory help?
I have a Maven child project in a directory "child". I have also a parent project "local-lib" in the directory "child/local-lib" which contains a repository with jars. The repository is declared in "child/local-lib/pom.xml" as
<repositories>
<repository>
<id>repo</id>
<url>[file:///$]{project.basedir}/repo</url>
</repository>
</repositories>
The child project has "child/pom.xml" where it refers to its parent as follows:
<parent>
<groupId>someGroup</groupId>
<artifactId>local-lib</artifactId>
<version>0.0.1</version>
<relativePath>./local-lib</relativePath>
</parent>
When I type "mvn clean install" in the child project, that is, in the directory "child", the child project attempts to search for a non-existing repository "child/repo", instead of "child/local-lib/repo". However, replacing "${project.basedir}" in "child/local-lib/pom.xml" with the full path to "child/local-lib" on my disk makes the child project use the correct repository child/local-lib/repo. This in turn, placed in child/local-lib/pom.xml as before, but with additional "local-lib":
<repositories>
<repository>
<id>repo</id>
<url>[file:///$]{project.basedir}/local-lib/repo</url>
</repository>
</repositories>
works this time correctly if I use maven from the directory "child", but not if I use directly "child/local-lib/pom.xml" from "child/local-lib". The latter creates a path with local-lib included twice.
was:
I have a Maven child project in a directory "child". I have also a parent project "local-lib" in the directory "child/local-lib" which contains a repository with jars. The repository is declared in "child/local-lib/pom.xml" as
<repositories>
<repository>
<id>repo</id>
<url>file:///${project.basedir}/repo</url>
</repository>
</repositories>
The child project has "child/pom.xml" where it refers to its parent as follows:
<parent>
<groupId>someGroup</groupId>
<artifactId>local-lib</artifactId>
<version>0.0.1</version>
<relativePath>./local-lib</relativePath>
</parent>
When I type "mvn clean install" in the child project, that is, in the directory "child", the child project attempts to search for a non-existing repository "child/repo", instead of "child/local-lib/repo". However, replacing "${project.basedir}" in "child/local-lib/pom.xml" with the full path to "child/local-lib" on my disk makes the child project use the correct repository child/local-lib/repo. This in turn, placed in child/local-lib/pom.xml as before, but with additional "local-lib":
<repositories>
<repository>
<id>repo</id>
<url>file:///${project.basedir}/local-lib/repo</url>
</repository>
</repositories>
works this time correctly if I use maven from the directory "child", but not if I use directly "child/local-lib/pom.xml" from "child/local-lib". The latter creates a path with local-lib included twice.
Issue Type: New Feature (was: Bug)
Summary: A property which points to pom.xml own directory (was: ${project.basedir} in repo definition resolves to child project directory)
> A property which points to pom.xml own directory
> ------------------------------------------------
>
> Key: MNG-7088
> URL: https://issues.apache.org/jira/browse/MNG-7088
> Project: Maven
> Issue Type: New Feature
> Affects Versions: 3.6.3
> Reporter: Monkey
> Priority: Major
>
> If the problems as the one below cannot be resolved cleanly, would adding a property which always points to pom.xml own directory help?
> I have a Maven child project in a directory "child". I have also a parent project "local-lib" in the directory "child/local-lib" which contains a repository with jars. The repository is declared in "child/local-lib/pom.xml" as
> <repositories>
> <repository>
> <id>repo</id>
> <url>[file:///$]{project.basedir}/repo</url>
> </repository>
> </repositories>
> The child project has "child/pom.xml" where it refers to its parent as follows:
> <parent>
> <groupId>someGroup</groupId>
> <artifactId>local-lib</artifactId>
> <version>0.0.1</version>
> <relativePath>./local-lib</relativePath>
> </parent>
> When I type "mvn clean install" in the child project, that is, in the directory "child", the child project attempts to search for a non-existing repository "child/repo", instead of "child/local-lib/repo". However, replacing "${project.basedir}" in "child/local-lib/pom.xml" with the full path to "child/local-lib" on my disk makes the child project use the correct repository child/local-lib/repo. This in turn, placed in child/local-lib/pom.xml as before, but with additional "local-lib":
> <repositories>
> <repository>
> <id>repo</id>
> <url>[file:///$]{project.basedir}/local-lib/repo</url>
> </repository>
> </repositories>
> works this time correctly if I use maven from the directory "child", but not if I use directly "child/local-lib/pom.xml" from "child/local-lib". The latter creates a path with local-lib included twice.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)