Home > Java > javaTutorial > How to use Gradle to build java projects

How to use Gradle to build java projects

PHPz
Release: 2023-04-19 10:16:05
forward
1400 people have browsed it

    1. Related introduction

    Gradle is an easy-to-use build tool. The reasons for using it are:

    • The amount of configuration-related dependency code is small, and there will not be too much xml like maven.

    • It is packaged, compiled, tested and released, and it is easy to use

    • Use custom tasks to complete the functions you want

    2. Installation

    Download address http://services.gradle.org/distributions/, Download the corresponding version you need. What I downloaded here is gradle-4.7-bin.zip. After downloading, unzip it to the directory you want, and then set the environment variables:

    How to use Gradle to build java projects

    How to use Gradle to build java projects

    View in cmd mode, the following information appears Prove that the installation is successful:

    How to use Gradle to build java projects

    Then we can configure gradle’s default warehouse address in the environment variable (not the same as maven):

    How to use Gradle to build java projects

    3. Use in IED

    1. IDEA

    Use idea to create a web Gradle project

    How to use Gradle to build java projects

    How to use Gradle to build java projects

    How to use Gradle to build java projects

    Then package and run the project:

    How to use Gradle to build java projects

    Double-click war

    How to use Gradle to build java projects

    After the packaging is completed, the war file will be in:

    How to use Gradle to build java projects

    Then just put the war into the corresponding tomcat directory. I won’t explain it here.

    2. Eclipse

    You need to install the plug-in yourself in eclipse. The plug-in path is:

    https://download.eclipse.org/buildship/updates/e46/releases/ 2.x/

    4. Problem description

    1. Explanation of build.gradle and settings.gradle

    First, a project contains group, name, and version. settings.gradle is used to manage multiple projects, which contains the name of the project

    How to use Gradle to build java projects

    In build.gradle, apply is the application plug-in, such as:

    How to use Gradle to build java projects

    Here we use java and war plug-ins. Dependencies are used to declare which jars this project depends on

    How to use Gradle to build java projects

    It is explained here Yes, we rely on junit's jar during the test compilation phase. These include compile (compile time) runtime (run time) testCompile (test compile time) testRuntime (test run time). Repositories is a warehouse. Gradle will search for jars in the warehouse in order from top to bottom

    How to use Gradle to build java projects

    Here our default is a maven central warehouse, from the gradle source code We see that the address is like this

    How to use Gradle to build java projects

    You can configure it here, where mavenLocal() means using the local maven warehouse; mavenCentral() uses the maven central warehouse. Use a fixed address, you can use Alibaba Cloud here

    (maven {url 'http://maven.aliyun.com/nexus/content/groups/public/'})

    The mirror download speed will be faster, and you can also use the company's internal private server address.

    Additional, here is a spring boot gradle configuration file, which can be compared with the maven build

    // buildscript 代码块中脚本优先执行
    buildscript {
    	// ext 用于定义动态属性
    	ext {
    		springBootVersion = '1.5.2.RELEASE'
    	}
    	// 自定义  Thymeleaf 和 Thymeleaf Layout Dialect 的版本
    	ext['thymeleaf.version'] = '3.0.3.RELEASE'
    	ext['thymeleaf-layout-dialect.version'] = '2.2.0'
    	// 自定义  Hibernate 的版本
    	ext['hibernate.version'] = '5.2.8.Final'
    	// 使用了 Maven 的中央仓库(你也可以指定其他仓库)
    	repositories {
    		//mavenCentral()
    		maven {
    			url 'http://maven.aliyun.com/nexus/content/groups/public/'
    		}
    	}
    	// 依赖关系
    	dependencies {
    		// classpath 声明说明了在执行其余的脚本时,ClassLoader 可以使用这些依赖项
    		classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    	}
    }
    // 使用插件
    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'org.springframework.boot'
    // 打包的类型为 jar,并指定了生成的打包的文件名称和版本
    jar {
    	baseName = 'springboot-test'
    	version = '1.0.0'
    }
    // 指定编译 .java 文件的 JDK 版本
    sourceCompatibility = 1.8
    // 默认使用了 Maven 的中央仓库。这里改用自定义的镜像库
    repositories {
    	//mavenCentral()
    	maven {
    		url 'http://maven.aliyun.com/nexus/content/groups/public/'
    	}
    }
    // 依赖关系
    dependencies {
    	// 该依赖对于编译发行是必须的
    	compile('org.springframework.boot:spring-boot-starter-web')
    	// 添加 Thymeleaf 的依赖
    	compile('org.springframework.boot:spring-boot-starter-thymeleaf')
    	// 添加  Spring Security 依赖
    	compile('org.springframework.boot:spring-boot-starter-security')
    	// 添加 Spring Boot 开发工具依赖
     	//compile("org.springframework.boot:spring-boot-devtools")
    	// 添加 Spring Data JPA 的依赖
    	compile('org.springframework.boot:spring-boot-starter-data-jpa')
    	// 添加 MySQL连接驱动 的依赖
    	compile('mysql:mysql-connector-java:6.0.5')
    	// 添加   Thymeleaf Spring Security 依赖,与 Thymeleaf 版本一致都是 3.x
    	compile('org.thymeleaf.extras:thymeleaf-extras-springsecurity4:3.0.2.RELEASE')
    	// 添加  Apache Commons Lang 依赖
    	compile('org.apache.commons:commons-lang3:3.5')
    	// 该依赖对于编译测试是必须的,默认包含编译产品依赖和编译时依
    	testCompile('org.springframework.boot:spring-boot-starter-test')
    }
    Copy after login

    The above is the detailed content of How to use Gradle to build java projects. For more information, please follow other related articles on the PHP Chinese website!

    Related labels:
    source:yisu.com
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template