基于Gradle的spring boot 项目构建

今天听只是分享,听到不用maven而使用Gradle构建,就尝试了下

Java三大构建工具:Ant、Maven和Gradle

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。

它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。

支持的语言有Java、Groovy和Scala

1.安装

   下载 https://gradle.org

  解压,配置环境变量path

    eg:将 E:abysoftwaregradle-5.3.1in 加入path

  验证是否安装好

    用命令窗口

gradle -v  

  

2.新建Gradle项目

  (1)通过start.spring.io

    A.下载 https://start.spring.io/  

  

    B.将下载的包解压,命名为gradle-demo,进入gradle-demo

    C.测试,输出hello

      c1.修改build.gradle

plugins {
    id 'org.springframework.boot' version '2.1.4.RELEASE'
    id 'java'
}

apply plugin: 'io.spring.dependency-management'

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

repositories {
    mavenCentral()
}

dependencies {
    compile('org.springframework.boot:spring-boot-starter')
    compile('org.springframework.boot:spring-boot-starter-web')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

      c2.在gradle-demosrcmainjavacomexampledemocontroller下新增HelloController.java

package com.example.demo.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
        return "Hello Gradle!";
    }
}

      c3.执行构建命令

gradle build  

  

      默认编译生成的文件在build/libs目录下

      c4.执行 

java -jar gradle-demo-0.0.1-SNAPSHOT.jar

      浏览器输入localhost:8080,浏览器输出

  

     浏览器输入localhost:8080/hello,浏览器输出

     

    D.导入IntelliJ IDEA

    使用IntelliJ IDEA,比较高效,一次还是导入IntelliJ IDEA方便后续开发

    File->Open

  

    open as project

    gradle home选择本地  

  

  (2)IntelliJ IDEA直接创建

    A.File——》New——》Project

  

  

  一直Next直到Finish

    B.新增package——controller

     新增 HelloController.java

package com.example.gradle.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
        return "Hello Gradle,this is IntelliJ IDEA created!";
    }
}

  目录结构如下

  

    C.运行

    

    浏览器输入localhost:8080,浏览器输出

   

说明:

    我的IntelliJ IDEA 是2017.3.

    发生错误 Cause: org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierImpl.getModuleIdentifier()Lorg/gradle/api/artifacts/ModuleIdentifier;

  

    查了下原因是gradle版本导致的

    gradle-wrapper.properties里指定的是gradle-5.2.1-bin.zip,换成gradle-4.10.3

  

     File——》Settings

  

  重新build就可以了

  

原文地址:https://www.cnblogs.com/baby123/p/10682259.html