Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-5258

localRepository in settings.xml does not handle ~ as home.dir

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.2.1, 3.0.4
    • 3.1.0-alpha-1
    • Bootstrap & Build, Settings
    • None
    • Linux (Ubuntu 11.10), Java 6

    Description

      My provided settings.xml contained a localRepository part with the value ~/.m2/repository and when invoking any maven command, this caused issues.

      Steps to reproduce:

      1 - create a settings.xml with the following content:
      <settings>
      <!-- localRepository

      The path to the local repository maven will use to store artifacts.
      Default: ~/.m2/repository -->
      <localRepository>~/.m2/repository</localRepository>
      </settings>

      2 - run mvn clean in an existing project

      3 - maven will create a ~ directory in the project where it will download all artifacts to.

      Apart from essentially creating a private repository for each project (which can quickly take up way more space than necessary, cause issues about missing artifacts) it may also cause issues if you try to remove it and forget to escape the ; ie if you do rm -rf ~ instead of rm -rf ''.

      I also tested with maven 2.2.1 and that will blow up with errors about not being able to create /.m2/repository/<some path to an artifact>.

      Both 3.0.4 and 2.2.1 were downloaded from maven.apache.org, not installed via apt/dpkg.

      Attachments

        Activity

          People

            rfscholte Robert Scholte
            tjzeeman Thomas Zeeman
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: