Trove4j库无法解析

时间:2017-08-22 13:10:31

标签: android maven android-gradle

尝试编译我的应用时出现以下错误:

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

似乎缺少IDE所需的库?

10 个答案:

答案 0 :(得分:82)

可以通过在buildscript部分中添加jcenter()作为存储库来解决此问题。

buildscript {
  repositories {
     jcenter()
  }

  dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0-beta2'
  }
}

答案 1 :(得分:38)

除了Snicolas回答:

如果你有类似的话:

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

build.gradle文件中;也把它添加到那里。

答案 2 :(得分:14)

由于 jCenter 将关闭 in May,您应该将 root/build.gradle 更改为:

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

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

另请参阅 https://stackoverflow.com/a/66168563/2914140 以添加未包含在 Maven 中的库。

现在我们可以无错误地构建 apk。

答案 3 :(得分:8)

如果您在 2021 年 5 月 1 日之后看到此错误,可能是因为 jcenter is shut down。 Android Gradle 插件 (AGP) 需要它。 Google 开发人员表示,他们正在使用从 AGP 7 开始从 mavenCentral() 获得的更新版本的库,并希望将其移植到 AGP 4.2 和 4.1 中。所以首先,尝试升级到 AGP 7。如果我还没有编辑过这篇文章,请检查是否有任何较低的 AGP 版本。

但是,如果您无法升级 AGP,那么在最初发布时(2021 年 2 月),我能找到的带有 trove 软件包的唯一存储库是在 pentaho 上,它似乎归 Hitachi 所有,所以我认为它是安全的。

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

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

这不是理想的解决方案。据我所知,这个 repo 可能是私有的。寻找可能在我之后发布的更好答案。

答案 4 :(得分:6)

从 jcenter 迁移? jcenter 将于 5 月 1 日

如果您要从 jcenter 迁移,您可能会遇到这个问题。出现问题是因为 Trove4j 库是从 jcenter 获取的,而您在从 jcenter 迁移时删除了 jcenter 存储库。

解决方案:

在项目 build.gradle 中添加以下内容:

maven { url 'https://plugins.gradle.org/m2/' } 

应该添加到:

  1. build.gradle(peoject) -> buildscript -> 仓库

  2. build.gradle(peoject) -> allprojects -> 仓库

    buildscript {
    
        repositories {
            google()
            mavenCentral()
            // ** Add this line **
            maven { url 'https://plugins.gradle.org/m2/' }
        }
    }
    
    allprojects {
        repositories {
            google()
            mavenCentral()
            // ** Add this line **
            maven { url 'https://plugins.gradle.org/m2/' }
        }
    }
    

由于 jcenter 将于 2021 年 5 月 1 日停用。应该从项目中删除 jcenter 存储库。这意味着应该删除所有出现在“jcenter()”的地方。这可能会导致 jcenter 托管的库出现问题。您应该提供另一个托管库的存储库,例如 maven。一些未维护的库可能不会移动到任何其他存储库。在这种情况下,您可能需要考虑为库打开一个问题或不使用它。您将在 5 月 1 日面临所有这些问题,如果您现在不进行迁移,您可能无法构建您的应用

答案 5 :(得分:3)

只需删除.idea,.gradle和gradle文件夹,然后重新启动您的应用程序。

答案 6 :(得分:3)

我解决了这个问题 在build.gradlew

中删除
repositories {
    jcenter()
}

然后将mavenCentral()更改为jcenter()并删除google()

答案 7 :(得分:2)

转到帮助 - >关于Android Studio并查看您的版本。在build.gradle App Mudule&中输入该vesion。对于项目build.gradle也是如此 classpath行在这里:

buildscript {
     ...
    repositories {
     ...
    }
    dependencies {
     ...
     classpath "com.android.tools.build:gradle:{THREE.DIGIT.VERSION}"
    }
}

Like in image

答案 8 :(得分:1)

每次升级Gradle插件时,这都是发生在我身上的,所以我所做的工作:

  1. 删除您的package-lock.json或yarn.lock
  2. 运行npm i或yarn来更新项目中的所有节点模块
  3. 例如,将您的ios项目重命名为ios _
  4. 运行react-native link将所有依赖项再次链接到您的android项目
  5. 将ios_重命名为ios
  6. 检查文件(project / build.gradle)您正在使用的Gradle插件版本。版本3.4.1适用于我。
  7. 检查您的Gradle版本(gradle / wrapper / gradle-wrapper.properties),此版本5.4.1在这里工作。
  8. 使用Android Studio打开您的Android项目,导航至“构建”>“重建项目”
  9. 最后,再次尝试同步/构建。

希望它可以帮助某人。

答案 9 :(得分:0)

尝试在mavenCentral()文件中将jcenter()替换为build.gradle

allprojects {
    repositories {

        jcenter() 
      //.......
    }
}