Issue
I have added the following to the dependencies
part of my app build.gradle
implementation 'org.seleniumhq.selenium:selenium-htmlunit-driver:3.56.0'
But I get the error:
Could not find org.seleniumhq.selenium:selenium-htmlunit-driver:3.56.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/org/seleniumhq/selenium/selenium-htmlunit-driver/3.56.0/selenium-htmlunit-driver-3.56.0.pom
- https://repo.maven.apache.org/maven2/org/seleniumhq/selenium/selenium-htmlunit-driver/3.56.0/selenium-htmlunit-driver-3.56.0.pom
- https://jcenter.bintray.com/org/seleniumhq/selenium/selenium-htmlunit-driver/3.56.0/selenium-htmlunit-driver-3.56.0.pom
Required by:
project :app
So in the project build.gradle
file, I added to the repositories
section:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
// ADDED THIS 2021 12 17
maven {
url("https://mvnrepository.com")
}
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:7.0.3"
}
}
I thought this would work because there's a page with selenium-htmlunit_driver_3.56.0 when I navigate there, the domain mvnrepository.com
, with my browser.
What I expected was that the specified dependency would be found. Or alternatively, I would get a report that would include another line under "Searched in the following locations:", but adding that maven line to the project build.grade has no effect.
What do I need to do in order for the additional maven repository to be searched? The maven repository that gets pulled-in from the mavenCentral()
entry (repo.maven.apache.org/maven2...) does not contain the version of selenium-htmlunit-drive that I'd like to try.
This is using Artic Fox 2020.3.1 Patch 3.
What am I doing wrong?
Solution
Artic Fox started using another technique built on depedencyResolutionManagment
which introduced this head-scratching situation where the entries in the application-level build.grade
file are not searched.
What worked for me in this situation was to go into settings.gradle
(not build.gradle
and change:
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
to
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
and for good measure, I put my additional repository into settings.gradle
resulting in the following:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) // WAS: FAIL_ON_PROJECT_REPOS
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
maven {url 'https://mvnrepository.com'} // ADDED THIS
}
}
After making these changes, the appropriate artifacts were automatically downloaded by the Android Studio standard build process.
Answered By - Dale
Answer Checked By - Dawn Plyler (JavaFixing Volunteer)