When you are developing projects using Gradle and you are not sure how to implement external dependencies to your project, then this journal entry can help you with that. Lets take some examples on understanding how to declare Gradle repositories for external dependencies. But before we start, we have to understand that the project can have multiple repositories. Gradle will look for a dependency in each repository in the order they are specified, stopping at the first repository that contains the requested module.
Declare Gradle Repositories
Gradle find the external dependencies files by looking into in a repository block defined in the build.gradle
file. A repository is basically a collection of files, organized by group
, name
, and version
. Gradle understands several different repository formats, such as Maven and Ivy. It also has several different ways of accessing the repository, such as using the local file system or HTTP.
By default, Gradle does not define any repositories of its own. You have to define at least one before accessing any external dependencies. One of the most common options is to use the Maven central repository:
build.gradle
repositories { mavenCentral() }
Or we can use JCenter:
build.gradle
repositories { jcenter() }
Gradle also gives you the option to use your own Maven or Ivy repositories server.
build.gradle
// Maven Repositories Server repositories { maven { url "http://repo.yourcompany.com/maven2" } }
// IVY Repositories Directory repositories { ivy { url "http://repo.yourcompany.com/repo" } }
You can also have repositories on the local file system. This works for both Maven and Ivy repositories.
build.gradle
repositories { ivy { // URL can refer to a local directory url "../local-repo-folder" } }
Sometimes a repository will have the POMs published to one location, and the JARs and other artifacts published at another location. To define such a repository, you can do:
build.gradle
repositories { maven { // Look for POMs and artifacts, such as JARs, here url "http://repo2.yourcompany.com/maven2" // Look for artifacts here if not found at the above location artifactUrls "http://repo.yourcompany.com/jars" artifactUrls "http://repo.yourcompany.com/jars2" } }
To access the protected maven repository servers, you need to have basic authentication and have to specify the username and password to be used when you define the repository:
build.gradle
repositories { maven { credentials { username 'user' password 'password' } url "http://repo.yourcompany.com/maven2" } }
If you like this journal entry and want some more entries like these then please stay tuned and connected by subscribing to our newsletter or you can join us on our social platforms – facebook, twitter, google+.