You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Anatoly Zaretsky (Jira)" <ji...@apache.org> on 2019/10/08 17:48:00 UTC

[jira] [Commented] (MNG-6762) Multimodule project with .mvn/settings.xml not working properly

    [ https://issues.apache.org/jira/browse/MNG-6762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16947078#comment-16947078 ] 

Anatoly Zaretsky commented on MNG-6762:
---------------------------------------

[~mminke], the issue is also present in the current 3.6.3-SNAPSHOT, so, I think, you can change "Affects Version/s" to that.

This seems like an inconsistent behaviour: with a set-up like the one from the issue description the command

{{$ mvn -f MyModule1 somegoal}}

works, but

 

{{$ cd MyModule1}}
{{$ mvn somegoal}}

fails, while one would expect them to both work or fail simultaneously.

I think it would be more useful to resolve relative paths from .mvn/maven.config against ${maven.multiModuleProjectDirectory} rather than the current working directory.

> Multimodule project with .mvn/settings.xml not working properly
> ---------------------------------------------------------------
>
>                 Key: MNG-6762
>                 URL: https://issues.apache.org/jira/browse/MNG-6762
>             Project: Maven
>          Issue Type: Improvement
>    Affects Versions: 3.5.4
>            Reporter: Morten Minke
>            Priority: Minor
>
> I have a project with the following setup:
>  
> {noformat}
> - MyProject
>   |- .mvn
>   |  |- maven.config
>   |  |- settings.xml
>   |- MyModule1
>   |  |- pom.xml
>   |- MyModule2
>   |  |- pom.xml
>   |- pom.xml{noformat}
>  
> The .mvn/maven.config file contains the following:
> {noformat}
> ..
> --settings .mvn/settings.xml{noformat}
> With this setup, I cannot build the modules separately because it cannot find the .mvn/settings.xml file in the MyModule1 directory.
>  
> I looked into the code and saw that in the mvn script, the .mvn folder is searched for in the parent folders. If it is found, that folder is marked as the 'maven.multiModuleProjectDirectory'.
>  
> However, as soon as the configuration is loaded, this multiModuleProjectDirectory is not used anymore for the interpretation of the --settings property, therefor maven tries to find the .mvn/settings.xml file inside the MyModule1 folder where it is not found.
> This results in an Exception and termination of Maven.
>  
> I thought of a couple of ways this could be solved:
>  * Allow for a variable substitution to work in the maven.config file and thus reference something like:
> {noformat}
> ..
> --settings ${baseDir}/.mvn/settings.xml{noformat}
>  * When the maven.multiModuleProjectDirectory is configured and the --settings flag is a relative directory, than use the maven.multiModuleProjectDirectory as the root to obtain the settings.xml file.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)