Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

gradle nao builda

tô tentando fazer um projeto no gradle aqui mas ele nao builda de jeito nenhum, ja troquei o sdk, ja troquei as dependencias e nada de funcionar. o projeto ta aqui: https://github.com/trcosta97/top-gun-air-travel e da esse erro aqui: A problem occurred configuring root project 'topgunAirline'.

Could not resolve all files for configuration ':classpath'. Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.0.5. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.0.5 No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.5 was found. The consumer was configured to find a runtime of a library compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '7.6.1' but:

      - Variant 'apiElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.5 declares a library, packaged as a jar, and its dependencies declared externally:
          - Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 8
          - Other compatible attribute:
              - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1')
      - Variant 'javadocElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.5 declares a runtime of a component, and its dependencies declared externally:
          - Incompatible because this component declares documentation and the consumer needed a library
          - Other compatible attributes:
              - Doesn't say anything about its target Java version (required compatibility with Java 8)
              - Doesn't say anything about its elements (required them packaged as a jar)
              - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1')
      - Variant 'mavenOptionalApiElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.5 declares a library, packaged as a jar, and its dependencies declared externally:
          - Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 8
          - Other compatible attribute:
              - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1')
      - Variant 'mavenOptionalRuntimeElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.5 declares a runtime of a library, packaged as a jar, and its dependencies declared externally:
          - Incompatible because this component declares a component compatible with Java 17 and the consumer needed a component compatible with Java 8
          - Other compatible attribute:
              - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1')
      - Variant 'runtimeElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.5 declares a runtime of a library, packaged as a jar, and its dependencies declared externally:
          - Incompatible because this component declares a component compatible with Java 17 and the consumer needed a component compatible with Java 8
          - Other compatible attribute:
              - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1')
      - Variant 'sourcesElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.5 declares a runtime of a component, and its dependencies declared externally:
          - Incompatible because this component declares documentation and the consumer needed a library
          - Other compatible attributes:
              - Doesn't say anything about its target Java version (required compatibility with Java 8)
              - Doesn't say anything about its elements (required them packaged as a jar)
              - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1')
6 respostas

Olá Thiago, tudo bem?

Pelo erro que você postou, parece que o Gradle não está conseguindo resolver as dependências do seu projeto. O erro específico é que ele não conseguiu encontrar a versão 3.0.5 do plugin spring-boot-gradle-plugin, que é uma dependência do seu projeto.

Uma possível solução para esse problema é adicionar o repositório Maven Central no seu arquivo build.gradle, que é onde o Gradle procura por dependências. Para fazer isso, basta adicionar a seguinte linha no início do arquivo:

repositories {
    mavenCentral()
}

Dessa forma, o Gradle deverá conseguir encontrar a dependência que está faltando. Espero que isso ajude!

Caso ainda tenha problemas, sugiro verificar se a versão do Gradle que você está usando é compatível com as dependências do projeto. Além disso, verifique se todas as dependências estão corretamente declaradas no arquivo build.gradle.

Espero ter ajudado e bons estudos!

Oi Matheus, obrigado por responder! Então, já tava com o mavenCentral. Eu atualizei as dependências e continua com o mesmo erro. Tô tentando resolver essa parte que ele cita o Java 8 e 17, mas não to conseguindo. No build o source compatiblity ta com o 17 e o SDK que tô usando é o corretto-17, não sei de onde ele tá tirando esse Java 8.

Segue meu glade.build:

plugins {
    id 'application'
    id 'java'
    id 'org.springframework.boot' version '3.0.5'
    id 'io.spring.dependency-management' version '1.1.0'
}

group = 'com.topgun.airline'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '3.0.6'
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '3.0.6'
    implementation group: 'com.mysql', name: 'mysql-connector-j', version: '8.0.33'
}

tasks.named('test') {
    useJUnitPlatform()
}

Peguei um exemplo no initializr :

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
  id 'org.springframework.boot' version '3.0.6'
  id 'io.spring.dependency-management' version '1.1.0'
  id 'org.jetbrains.kotlin.jvm' version '1.7.22'
  id 'org.jetbrains.kotlin.plugin.spring' version '1.7.22'
  id 'org.jetbrains.kotlin.plugin.jpa' version '1.7.22'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

repositories {
  mavenCentral()
}

dependencies {
  implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
  implementation 'org.springframework.boot:spring-boot-starter-web'
  implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
  implementation 'org.jetbrains.kotlin:kotlin-reflect'
  runtimeOnly 'com.mysql:mysql-connector-j'
  testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.withType(KotlinCompile) {
  kotlinOptions {
    freeCompilerArgs = ['-Xjsr305=strict']
    jvmTarget = '17'
  }
}

tasks.named('test') {
  useJUnitPlatform()
}

Consegue ver se tem alguma diferença muito grande ?

O meu eu fiz pelo initializr também, a unica parte que difere é a parte do Koitlin, por que eu useu Groovy. Pior todos que eu gero pelo initializr com Gradle tão dando esse mesmo erro. Eu passei a segunda metade do mês passado inteiro fazendo um projeto Gradle pra faculdade (também usando o initializr) e não deu problema nenhum, parece que o meu Java "quebrou".

Reparei que o seu o inicio tá um pouco diferente, será que não vale gerar um novo e ver o que rola ? Só pra ter certeza, as vezes é config zuada

solução!

Era problema no Java mesmo, baixei e instalei de novo, configurei as variaveis de sistema e rodou.