59 votes

jcenter.bintray.com est en panne Erreur : 502 Mauvaise passerelle

Lorsque j'essaie de construire mon projet, j'obtiens l'erreur suivante :

Impossible d'obtenir
https://jcenter.bintray.com/androidx/lifecycle/lifecycle-common/maven-metadata.xml".
Réception du code d'état 502 du serveur : Mauvaise passerelle

  • Dans mon build.gradle Je n'ai pas JCenter, donc l'erreur que j'obtiens provient des dépendances qui pointent toujours vers JCenter.
  • Le mode hors ligne de Gradle n'est pas la solution que j'attendais.
  • Je sais que JCenter est en panne et que nous devrions tous passer à Maven Central (je l'ai déjà fait).

Existe-t-il une solution de contournement ?

1voto

Je suis confronté au même problème. En utilisant maven { url 'https://maven.aliyun.com/repository/jcenter' } au lieu de jcenter dans le build.gradle pourrait résoudre le problème, mais il n'est pas recommandé car il n'est pas officiel.

1 votes

Comment faites-vous ? Quels sont les fichiers que vous modifiez ? Merci d'avance.

0 votes

Vous pouvez le changer dans votre fichier build.gradle. Il suffit de remplacer jcenter par la ligne ci-dessus, mais je ne le recommanderais toujours pas car il s'agit d'un repo clone et qu'il peut contenir des librairies toxiques.

0voto

Murilo Medeiros Points 133

Certaines bibliothèques tierces utilisent JCenter comme référentiel, mais nous pouvons facilement le remplacer. Pour ce faire, il suffit de créer un fichier appelé init.gradle.kts à l'intérieur /Android (s'il s'agit d'un projet React Native) avec le code suivant :

apply<EnterpriseRepositoryPlugin>()

class EnterpriseRepositoryPlugin : Plugin<Gradle> {
    companion object {
        const val ENTERPRISE_REPOSITORY_URL = "https://repo.gradle.org/gradle/repo"
    }

    override fun apply(gradle: Gradle) {
        gradle.allprojects {
            repositories {

                all {
                    if (this !is MavenArtifactRepository || url.toString().contains("jcenter")) {
                        project.logger.lifecycle("Repository ${(this as? MavenArtifactRepository)?.url ?: name} removed.")
                        remove(this)
                    }
                }

                // add the enterprise repository
                add(maven {
                    name = "STANDARD_ENTERPRISE_REPO"
                    url = uri(ENTERPRISE_REPOSITORY_URL)
                })
            }
        }
    }
}

Ensuite, il suffit de nettoyer gradlew et de recompiler en utilisant :

./gradlew assembleRelease --init-script init.gradle.kts

0voto

diobrando Points 1

Ce problème a affecté mon Parcheando jenkins (à cause du Parcheando qui essayait de récupérer job-dsl-core de jCenter), j'ai donc fini par remplacer jCenter() par gradlePluginPortal() dans build.gradle, et tout fonctionne bien maintenant.

J'espère que cela vous aidera !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X