woodings
woodings

Reputation: 7693

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?

Upvotes: 11

Views: 3110

Answers (2)

Aleksander Adamowski
Aleksander Adamowski

Reputation: 855

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.

Upvotes: 4

dbyrne
dbyrne

Reputation: 61081

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?

Upvotes: 8

Related Questions