Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does Leiningen read maven settings in .m2/settings.xml?

I have several additional repositories in ~/.m2/settings.xml. I tried lein search and it doesn't find the packages in my repositories. How can I tell leiningen to search repositories in maven settings?

like image 716
woodings Avatar asked Apr 09 '13 19:04

woodings


2 Answers

BTW, if you really want to add Maven repositories or mirrors on user profile level (useful for internal company proxy repositories like Nexus, especially if Lein has its usual problems with corporate NTLM proxies), then you can do this in ~/.lein/profiles.clj / %USERPROFILE%\.lein\profiles.clj:

How to configure leiningen's maven usage?

In my case, on Windows, it was sufficient to place this :mirrors map in my %USERPROFILE%\.lein\profiles.clj:

{:user
    {
        :java-cmd "C:\\Program Files\\Java\\jdk1.7.0_09\\bin\\java.exe"
            :plugins [    ]
            :mirrors {
                #".+"  "http://internal-nexus.example.com/content/groups/public-all/"
            }
    }
}

`

The #".+" specifies the name of mirrored repository using pattern syntax that matches all possible names (resulting in mirroring every repository), as described in this Leiningen issue report 271.

like image 141
Aleksander Adamowski Avatar answered Oct 24 '22 18:10

Aleksander Adamowski


You can add the :repositories tag to your project.clj file:

(defproject com.foo/bar "1.0.0-SNAPSHOT"
  ;; ...other configuration...
  :repositories [["java.net" "http://download.java.net/maven/2"]])

Take a look at the official sample project.clj.

You'll have to copy over the repository configuration from your settings.xml file, but this is the idiomatic and recommended way to manage repositories with Leiningen.

Does lein2 use repositories defined in ~/.m2/settings.xml?

like image 31
dbyrne Avatar answered Oct 24 '22 19:10

dbyrne