Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

498
Views
Las dependencias de Gradle Kotlin allprojects causan fallas en la compilación

En mi proyecto Gradle, puedo declarar un bloque de dependencies con entradas de implementation , no hay problema. Sin embargo, cuando trato de declarar algo como esto, aparece un error:

 allprojects { dependencies { implementation("...") } }

El error que obtengo:

 Could not find method implementation() for arguments [org.mockito:mockito-core:2.25.0] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

No pude reproducir esto con un proyecto Java, por lo que podría tener algo que ver con el proyecto Kotlin. Soy nuevo en Gradle, ¿así que podría estar haciendo algo tonto? Aquí está la información de mi entorno:

 $ gradle --version ------------------------------------------------------------ Gradle 5.2.1 ------------------------------------------------------------ Build time: 2019-02-08 19:00:10 UTC Revision: f02764e074c32ee8851a4e1877dd1fea8ffb7183 Kotlin DSL: 1.1.3 Kotlin: 1.3.20 Groovy: 2.5.4 Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018 JVM: 1.8.0_112 (Oracle Corporation 25.112-b15) OS: Windows 10 10.0 amd64

Reproducción mínima

Puedo reproducir el problema con un proyecto mínimo.

construir.gradle:

 plugins { id 'org.jetbrains.kotlin.jvm' version '1.3.21' } group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' repositories { mavenCentral() } // This works. dependencies { implementation 'org.mockito:mockito-core:2.25.0' } // Causes an error. Using a random dependency to reproduce the issue. allprojects { dependencies { implementation 'org.mockito:mockito-core:2.25.0' } }

settings.gradle:

 rootProject.name = 'demo' // Removing this line causes the error to go away, but means the module is missing. include 'submodule'

submodule/build.gradle

 // Empty file. I've tried adding various plugins (java / kotlin) to no avail.
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

El problema en su build.gradle es que está tratando de usar una configuración de dependencia de compilación, en este caso, la implementation sin especificar el complemento de java . Los documentos de gradle dicen;

El complemento de Java agrega una serie de configuraciones de dependencia a su proyecto, como se muestra a continuación. Tareas como compileJava y test luego usan una o más de esas configuraciones para obtener los archivos correspondientes y usarlos, por ejemplo, colocándolos en un classpath de compilación o tiempo de ejecución.

Una forma de solucionar esto es incluir el complemento java como se muestra a continuación (he probado en 5.2.1 y funcionó bien);

 allprojects { apply plugin: 'java' dependencies { implementation 'org.mockito:mockito-core:2.25.0' } }

La relación de la configuración de compilación con el complemento de java se ha descrito detalladamente en https://docs.gradle.org/current/userguide/java_plugin.html#sec:java_plugin_and_dependency_management

y

https://docs.gradle.org/current/userguide/managing_dependency_configurations.html#managing_dependency_configurations

Además, asegúrese de no duplicar esta dependencia (o cualquier otra que se declare en la raíz o para todos los proyectos) en subproyectos.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!