使用idea创建SpringBoot+Gradle项目

刚到公司,接触的项目是SpringBoot + Gradle的项目,之前做过的项目是Maven的项目,所以要学习一下gradle,下面就先介绍一下如何使用idea创建Gradle + SpringBoot项目,然后再介绍一下如何配置gradle,我用的idea版本是2020.1版,jdk1.8,gradle是自己下载配置的,版本是4.10.2。

创建项目

  1. 选择file–>选择new–>选择–>project。
  2. 选择Spring Initializr -->Project SDK选择已经安装的jdk,这里选择1.8 -->其他默认,然后next.
    使用idea创建SpringBoot+Gradle项目_第1张图片
  3. 这一步可以修改项目的名字和版本,语言等,但这里最主要的是要选择Gradle Project,然后点击next,如下
    使用idea创建SpringBoot+Gradle项目_第2张图片
  4. 这里选择项目需要的相关依赖,当然,后续需要什么依赖也可以在配置文件中添加,我们这里选择Web中的Spring Web,然后点击next。
    使用idea创建SpringBoot+Gradle项目_第3张图片
  5. 这里选择项目目录和填写项目的名字。点击finish就完成了。
    使用idea创建SpringBoot+Gradle项目_第4张图片
  6. 然后idea就开始自动下载gradle了。下载有时很慢,而且会失败。值得注意的是4.新以上的版本5.x,6.x等等的高版本,已经将sourceSets.main.output.classesDir改成了 sourceSets.main.output.classesDirs,所以在配置时需要注意。
    使用idea创建SpringBoot+Gradle项目_第5张图片
  7. 如果想要修改gradle配置,或者使用自己的gradle,可以点击file–>找到setting(mac版的idea是点击IntelliJ IDEA这几个字,在出现的下拉框中找到Preference,就是setting),然后点击Build Execution Deployment,找到Build Tools,然后找到Gradle,如下,Gradle user home是Gradle依赖库的位置,可以自定义,中间的一项打勾,然后Use Gradle from选择Specified Location,后面的选择你安装gradle的位置即可,然后点击Apply,然后点击ok。
    使用idea创建SpringBoot+Gradle项目_第6张图片
  8. 随后idea开始自动下载依赖。
    使用idea创建SpringBoot+Gradle项目_第7张图片

到这里整个项目的创建就结束了,接下来对gradle的配置进行一个讲解。maven转gradle如下:

maven


    4.0.0

    com.hngytobacco
    budget
    0.0.1-SNAPSHOT
    jar

    budget
    Demo project for Spring Boot

    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.0.RELEASE
         
    

    
        UTF-8
        UTF-8
        1.8
        2.8.0
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Finchley.SR2
                pom
                import
            
        
    

    
        
            org.springframework.security.oauth.boot
            spring-security-oauth2-autoconfigure
        
        
            org.springframework.cloud
            spring-cloud-starter-config
        
        
            org.springframework.boot
            spring-boot-starter-actuator
        
        
            org.springframework.boot
            spring-boot-starter-data-jpa
        
        
            com.h2database
            h2
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-security
        
        
            mysql
            mysql-connector-java
        
        
            org.springframework.boot
            spring-boot-devtools
            true
        

        
            io.springfox
            springfox-swagger2
            ${springfox.swagger2.version}
            compile
        

        
            io.springfox
            springfox-swagger-ui
            ${springfox.swagger2.version}
            compile
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    true
                
            
        
    


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

plugins {
    id "java"
    id "idea"
    id "org.springframework.boot" version "2.1.0.RELEASE"
    id "io.spring.dependency-management" version "1.0.6.RELEASE"
}

group "com.hngytobacco"
version "1.0-SNAPSHOT"

compileJava.options.encoding = "UTF-8"
compileTestJava.options.encoding = "UTF-8"

sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

repositories {
    mavenCentral()
}

ext {
    springCloudVersion = "Finchley.SR2"
    springfoxSwagger2Version = "2.8.0"
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

dependencies{
    implementation "org.springframework.boot:spring-boot-starter-web"
    implementation "org.springframework.boot:spring-boot-starter-data-jpa"
    implementation "org.springframework.boot:spring-boot-starter-security"
    implementation "org.springframework.boot:spring-boot-starter-actuator"
    implementation "mysql:mysql-connector-java"
    implementation "org.springframework.cloud:spring-cloud-starter-config"
    implementation "org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure"
    implementation "io.springfox:springfox-swagger2:${springfoxSwagger2Version}"
    implementation "io.springfox:springfox-swagger-ui:${springfoxSwagger2Version}"
    runtimeOnly "org.springframework.boot:spring-boot-devtools"
    testImplementation "org.springframework.boot:spring-boot-starter-test"
    testImplementation "org.springframework.security:spring-security-test"
    testCompile group: "junit", name: "junit", version: "4.12"
}

你可能感兴趣的:(idea,Spring,boot,java,maven,spring,boot,gradle,spring)