Перенос весенней загрузки с 1.5.8 до 2.1.5 - проблемы с Gradle - PullRequest
0 голосов
/ 13 июня 2019

Миграция с Spring Boot 1.5.8 на 2.1.5, сообщение об ошибке:

Не удалось установить неизвестное свойство 'sourceCompatibility' для проекта ': api' типа org.gradle.api.Project.

Если я прокомментирую эту строку, я получу сообщение об ошибке:

Не удалось установить неизвестное свойство 'targetCompatibility' для проекта ': api' типа org.gradle.api.Project.

Если я прокомментирую эту строку, я получу сообщение об ошибке:

Не удалось найти метод jar () для аргументов [build_4wobgm6qykoy29e0in3cntga8 $ _run_closure2 @ 1fc9b06d] в проекте ': api' типа org.gradle.api.Project.

Так что что-то здесь не так. У меня есть два build.gradle файла, один в моем корне, один в api:

/ build.gradle

plugins {
    id 'idea'
    id 'java'
    id 'com.jfrog.bintray' version '1.8.4'
}

apply from: "$rootDir/gradle/git-version.gradle"

version getVersionFromGit()

group 'com.my_org.my_proj'

apply from: "$rootDir/gradle/bintray-vars.gradle"

subprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}

wrapper {
    gradleVersion = '4.8.1'
}

/ апи / build.gradle

plugins {
    id 'org.springframework.boot'           version '2.1.5.RELEASE'
    id 'io.spring.dependency-management'    version '1.0.7.RELEASE'
}

group = rootProject.group
version = rootProject.version

repositories {
    maven { url 'https://dl.bintray.com/my-org/spring-utils' }
}

apply from: "$rootDir/gradle/checkstyle.gradle"

sourceCompatibility = 1.8
targetCompatibility = 1.8

jar {
    archiveName = 'api.jar'
    baseName = project.name
    version = project.version
}

test {
    doFirst {
        environment "BUILD_NUMBER", "1"
    }
}

dependencies {
    def springBoot = '2.1.5.RELEASE'

    runtime     group: 'org.springframework.boot',              name: 'spring-boot-properties-migrator',    version: springBoot

    compile     group: 'org.flywaydb',                          name: 'flyway-core',                        version: '5.2.4'

    compile     group: 'org.hibernate',                         name: 'hibernate-java8',                    version: '5.4.3.Final'

    compile     group: 'org.springframework.boot',              name: 'spring-boot-starter-web',            version: springBoot
    compile     group: 'org.springframework.boot',              name: 'spring-boot-starter-data-jpa',       version: springBoot
    compile     group: 'org.springframework.boot',              name: 'spring-boot-starter-data-rest',      version: springBoot
    compile     group: 'org.springframework.boot',              name: 'spring-boot-starter-mail',           version: springBoot
    compile     group: 'org.springframework.boot',              name: 'spring-boot-starter-freemarker',     version: springBoot

    testCompile group: 'junit',                                 name: 'junit',                              version: '4.12'
    testCompile group: 'org.springframework.boot',              name: 'spring-boot-starter-test',           version: springBoot
    testCompile group: 'org.flywaydb.flyway-test-extensions',   name: 'flyway-spring-test',                 version: '4.2.0.2'
}

Я явно что-то здесь упускаю. Я следовал руководству по миграции , а также Googling, конечно. Предложения?

1 Ответ

2 голосов
/ 13 июня 2019

Вы не применили плагин java к своему подпроекту api, поэтому свойства sourceCompatibility и targetCompatibility, которые он добавляет к проекту, отсутствуют, как и заданная им задача jar.

Добавление id java к блоку plugins в верхней части api/build.gradle должно решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...