У Gradlew Complie нет lib.jar - PullRequest
       1

У Gradlew Complie нет lib.jar

1 голос
/ 25 марта 2019

Я использую Gradle (Gradle 4.7) для компиляции проекта (Java 1.8) имеет многомодуль:

./gradlew -p web -x test build

и у одного из них нет dist jar, у других - в чем проблема? Нормальная структура dir для вывода компиляции:

--build
----classes
----libs
----tmp

и неправильная структура dir:

--build
----classes
----tmp

Это build.gradle (ненормальный модуль):

project(":monitor-business") {

    description = "business"

    dependencies {
        api project(':data')
        api project(':common')
        implementation('org.springframework.boot:spring-boot-starter-web')
    }
}

PS: все модули не генерируют папку libs, libs - это кеш. Почему модуль не генерирует файл dis jar, Как настроить мой gradle проект. Это полная конфигурация моего проекта:

group 'dolphin'
version '1.0-SNAPSHOT'


buildscript {
    ext {
        springBootVersion = '2.1.3.RELEASE'
        springVersion = '4.3.7.RELEASE'
        springfoxVersion = '2.6.1'
        jacksonVersion = '2.8.7'
        lombokVersion = '1.16.14'
    }
    ext['tomcat.version'] = '9.0.16'

    repositories {
        mavenCentral()
        jcenter{
            url 'http://jcenter.bintray.com'
        }
    }

    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")

    }
}

def getVersionCode() {
    def versionFile = file("$rootDir/version.properties")
    if (!versionFile.canRead()) {
        throw new GradleException("Could not find version.properties!")
    }
    def versionProps = new Properties()
    versionProps.load(new FileInputStream(versionFile))
    def versionCode = versionProps['VERSION'].toString()
    return versionCode
}

repositories {
    mavenCentral()
}

allprojects {
    apply plugin: 'java'
    apply plugin: 'java-library'
    apply plugin: 'org.springframework.boot'
    apply plugin: 'io.spring.dependency-management'

    repositories {
        mavenCentral()
    }
}

task wrapper(type: Wrapper) {
    description = 'Generates gradlew[.bat] scripts'
    gradleVersion = '4.7'
}


project(":common") {
    description = ''

    dependencies {
        api("org.springframework:spring-context:" + springVersion)
        api("commons-codec:commons-codec:1.10")
        api("org.apache.tomcat:tomcat-juli:" + property('tomcat.version'))
        api 'org.springframework.boot:spring-boot-starter-web'
        api group: 'io.swagger', name: 'swagger-annotations', version: '1.5.20'
        api("org.projectlombok:lombok:${lombokVersion}")
        api group: 'org.apache.commons', name: 'commons-lang3', version: '3.5'
        api group: 'org.mybatis.spring.boot', name: 'mybatis-spring-boot-starter', version: '1.3.0'
        api group: 'org.mybatis', name: 'mybatis', version: '3.4.4'
        api group: 'org.mybatis', name: 'mybatis-typehandlers-jsr310', version: '1.0.2'
    }
}

project(":composite") {

    description = 'dolphin-composite'

    dependencies {
        implementation project(":monitor-business")
        api project(":data")
        implementation("org.springframework:spring-context:" + springVersion)
    }
}


project(":web") {
    description = "web"
    archivesBaseName = "dolphin-web-" + getVersionCode()

    jar {
        // Will include every single one of your dependencies, project or not
        from {
            configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
        }
    }

    dependencies {
        api project(':monitor-business')
        api project(':api')
        api project(':common')
        api project(':data')
        api project(':composite')
        implementation("com.zaxxer:HikariCP:2.6.0")
        api("org.mybatis:mybatis-spring:1.3.0")
        implementation("mysql:mysql-connector-java:5.1.24")
        implementation("org.springframework.boot:spring-boot-starter-web")
        implementation("org.springframework.boot:spring-boot-starter")
        implementation("io.springfox:springfox-swagger2:2.9.2")
        implementation("io.springfox:springfox-swagger-ui:2.9.2")
        implementation group: 'org.apache.tomcat', name: 'tomcat-juli', version: property('tomcat.version')
        implementation("org.projectlombok:lombok:1.16.14")
        implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.5'
        implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.24'
        implementation group: 'org.mybatis', name: 'mybatis', version: '3.4.2'
        implementation group: 'org.mybatis', name: 'mybatis-typehandlers-jsr310', version: '1.0.2'
        testCompile group: 'junit', name: 'junit', version: '4.12'
    }
}

project(":monitor-business") {

    description = "business"

    dependencies {
        api project(':data')
        api project(':common')
        implementation('org.springframework.boot:spring-boot-starter-web')
    }
}

project(":data") {

    description = "data"

    dependencies {
        api project(':common')
        api("org.projectlombok:lombok:${lombokVersion}")
        implementation("com.zaxxer:HikariCP:2.6.0")
        implementation group: 'org.postgresql', name: 'postgresql', version: '42.1.4'
        api("org.hibernate:hibernate-validator:5.2.4.Final")
        api("org.mybatis.spring.boot:mybatis-spring-boot-starter:1.1.1")
        api("org.apache.commons:commons-lang3:3.5")
        api group: 'org.springframework', name: 'spring-jdbc', version: '5.1.5.RELEASE'
        api group: 'org.slf4j', name: 'slf4j-api', version: '1.7.24'
        api group: 'org.mybatis', name: 'mybatis', version: '3.4.2'
        api group: 'org.mybatis', name: 'mybatis-typehandlers-jsr310', version: '1.0.2'
        testCompile group: 'junit', name: 'junit', version: '4.11'
        api("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonVersion")

    }
}

PS: Моя проблема похожа на эту памятку: https://discuss.gradle.org/t/gradle-4-x-jar-is-not-generated/24773

Я решил это, но не знаю почему ....

1 Ответ

0 голосов
/ 25 марта 2019

Чтобы решить проблему, используйте эту команду для создания проекта (он сгенерирует папку libs и файл jar):

./gradlew -p web -x test -x jar build

Версия Gradle: 4.7. (Gradle 5.3 не работает)

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