Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Trove4j library cannot be resolved

I'm getting the following error when trying to compile my app:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':myProject'.
> Could not resolve all files for configuration ':myProject:classpath'.
   > Could not find org.jetbrains.trove4j:trove4j:20160824.
     Searched in the following locations:
         https://repo1.maven.org/maven2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
         https://repo1.maven.org/maven2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
         https://maven.fabric.io/public/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
         https://maven.fabric.io/public/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
         https://maven.google.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
         https://maven.google.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
     Required by:
         project :metam > com.android.tools.build:gradle:3.0.0-beta2 > com.android.tools.build:gradle-core:3.0.0-beta2 > 
com.android.tools.lint:lint:26.0.0-beta2 > com.android.tools.lint:lint-checks:26.0.0-beta2 > com.android.tools.lint:lint-
api:26.0.0-beta2 > com.android.tools.external.com-intellij:intellij-core:26.0.0-beta2

It appears a library the IDE needs is missing?

like image 554
mraviator Avatar asked Aug 22 '17 13:08

mraviator


4 Answers

this issue can be resolved by adding jcenter() as a repository in the buildscript section.

buildscript {
  repositories {
     jcenter()
  }

  dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0-beta2'
  }
}
like image 101
Snicolas Avatar answered Nov 12 '22 08:11

Snicolas


Additional to Snicolas' answer:

If you have something like:

allprojects {
    repositories {
        mavenCentral()
        google()
        jcenter() //also add it here!!!
    }
}

In your build.gradle file; also add it there.

like image 37
MadBoomy Avatar answered Nov 12 '22 09:11

MadBoomy


Since jCenter will close in May, you should change root/build.gradle so:

buildscript {
    repositories {
        google()
        gradlePluginPortal()
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        // org.jetbrains.trove4j:trove4j:20160824.
        gradlePluginPortal()
    }
}

See also https://stackoverflow.com/a/66168563/2914140 to add libraries not included in Maven.

Now we can build apk without errors.

like image 15
CoolMind Avatar answered Nov 12 '22 10:11

CoolMind


If you're seeing this error after May 1st 2021, it's probably because jcenter is shut down. It's needed by the Android Gradle Plugin (AGP). Google devs have said they're using a newer version of the library that can be got from mavenCentral() as of AGP 7 and hoping to backport that into AGP 4.2 and 4.1. So first of all, try and upgrade to AGP 7. And if I haven't edited this post with updates, check to see is it in any lower AGP versions.

But if you can't upgrade AGP, as of initial time of posting (February 2021), the only repo I could find with the trove package is on pentaho, which seems to be owned by Hitachi so I presume it's safe.

buildscript {
   repositories {
         maven { url "https://nexus.pentaho.org/content/groups/omni" }
   }

   dependencies {
         classpath 'org.jetbrains.trove4j:trove4j:20160824'
   }
}

This is NOT an ideal solution. This repo could be intended to be private for all I know. Look for a better answer that might be posted after me.

like image 8
georgiecasey Avatar answered Nov 12 '22 08:11

georgiecasey