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 11:57:00 UTC
[jira] [Created] (MNG-7088) ${project.basedir} in repo definition
resolves to child project directory
Monkey created MNG-7088:
---------------------------
Summary: ${project.basedir} in repo definition resolves to child project directory
Key: MNG-7088
URL: https://issues.apache.org/jira/browse/MNG-7088
Project: Maven
Issue Type: Bug
Affects Versions: 3.6.3
Reporter: Monkey
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)