如何使用gradle

时间:2017-03-11 11:25:35

标签: java gradle spring-boot

所以我只是在用gradle和spring-boot进行(试验)。

当我跟随你好的世界时,我很容易让项目运行,这让我感到高兴。

现在我想要一个结构化的项目;为此,我正在使用Intellij社区(不确定是否相关)。我有以下结构。

/项目   - build.gradle   - settings.gradle(仅包括服务) /项目/服务/   - build.gradle   - settings.gradle(仅包含MyService) /项目/服务/ MyServices   - build.gradle

现在我可以分享一些build.gradle文件,但我正在尝试在互联网上找到的随机内容。我的问题是MyService上没有Spring引导类.Myservice中的以下目录结构是标准的Java(/ src / main / java)

我正在尝试将依赖项和&我的主build.gradle中的版本如果可能的话。有人可以指出我做错了什么。

目前我只使用gradle进行简单的android开发工作。

/Project/build.gradle

group 'nl.msegers.project'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'idea'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
}

/Project/Services/build.gradle

group 'nl.msegers.project.services'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.2.RELEASE")
    }
}

/Project/Services/MyService/build.gradle

group 'nl.msegers.project.services.myservice'
version parent.version

apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'

jar {
    baseName = 'Navigation'
    version =  parent.version
}

repositories {
    mavenCentral()
}

sourceCompatibility = 1.8
targetCompatibility = 1.8

2 个答案:

答案 0 :(得分:1)

要让每个项目都从根继承依赖项,您可以在根项目中使用allprojects脚本块,如:

allprojects {
            dependencies {
        compile group: 'commons-collections', name: 'commons-collections', version: '3.+'
        ...
    }
}

答案 1 :(得分:0)

我已经在网上搜了一个小时左右才能得到像这样的结构。与此同时,我也从头开始重建我的项目(尽管我的代码还不多)。

我的代码目前允许简单的Spring启动子项目而没有太多冗余配置,并且他们可以非常轻松地编译Libraries项目,但是这可以使用一些工作。

我现在所拥有的是这样的结构。

/项目 /项目/库 /项目/库/模型 /项目/服务/ /项目/服务/服务

使用唯一值得注意的build.gradle文件(其他文件几乎为空):

/项目/服务/

group 'nl.msegers.project.services'
version parent.version

buildscript {
    ext {
        springBootVersion = "1.5.2.RELEASE"
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

subprojects {
    buildscript {
        ext {
            springBootVersion = "1.5.2.RELEASE"
        }
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        }
    }
    apply plugin: 'java'
    apply plugin: 'org.springframework.boot'


    dependencies {

        compile("org.springframework.boot:spring-boot-starter-web") {
            exclude module: "spring-boot-starter-tomcat"
        }
        compile("org.springframework.boot:spring-boot-starter-jetty")
        compile("org.springframework.boot:spring-boot-starter-actuator")

        compile project(':Libraries:Models')

        testCompile 'junit:junit:4.12'
    }

    task wrapper(type: Wrapper) {
        gradleVersion = '3.1'
    }
}

/项目/服务/为MyService

group 'nl.msegers.project.services.myservice'
version parent.version

jar {
    baseName = 'myservice'
    version =  parent.version
}

repositories {
    mavenCentral()
}