search
HomeJavajavaTutorialHow to use Gradle to build java projects

How to use Gradle to build java projects

Apr 19, 2023 am 10:16 AM
javagradle

    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')
    }

    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!

    Statement
    This article is reproduced at:亿速云. If there is any infringement, please contact admin@php.cn delete
    What aspects of Java development are platform-dependent?What aspects of Java development are platform-dependent?Apr 26, 2025 am 12:19 AM

    Javadevelopmentisnotentirelyplatform-independentduetoseveralfactors.1)JVMvariationsaffectperformanceandbehavioracrossdifferentOS.2)NativelibrariesviaJNIintroduceplatform-specificissues.3)Filepathsandsystempropertiesdifferbetweenplatforms.4)GUIapplica

    Are there performance differences when running Java code on different platforms? Why?Are there performance differences when running Java code on different platforms? Why?Apr 26, 2025 am 12:15 AM

    Java code will have performance differences when running on different platforms. 1) The implementation and optimization strategies of JVM are different, such as OracleJDK and OpenJDK. 2) The characteristics of the operating system, such as memory management and thread scheduling, will also affect performance. 3) Performance can be improved by selecting the appropriate JVM, adjusting JVM parameters and code optimization.

    What are some limitations of Java's platform independence?What are some limitations of Java's platform independence?Apr 26, 2025 am 12:10 AM

    Java'splatformindependencehaslimitationsincludingperformanceoverhead,versioncompatibilityissues,challengeswithnativelibraryintegration,platform-specificfeatures,andJVMinstallation/maintenance.Thesefactorscomplicatethe"writeonce,runanywhere"

    Explain the difference between platform independence and cross-platform development.Explain the difference between platform independence and cross-platform development.Apr 26, 2025 am 12:08 AM

    Platformindependenceallowsprogramstorunonanyplatformwithoutmodification,whilecross-platformdevelopmentrequiressomeplatform-specificadjustments.Platformindependence,exemplifiedbyJava,enablesuniversalexecutionbutmaycompromiseperformance.Cross-platformd

    How does Just-In-Time (JIT) compilation affect Java's performance and platform independence?How does Just-In-Time (JIT) compilation affect Java's performance and platform independence?Apr 26, 2025 am 12:02 AM

    JITcompilationinJavaenhancesperformancewhilemaintainingplatformindependence.1)Itdynamicallytranslatesbytecodeintonativemachinecodeatruntime,optimizingfrequentlyusedcode.2)TheJVMremainsplatform-independent,allowingthesameJavaapplicationtorunondifferen

    Why is Java a popular choice for developing cross-platform desktop applications?Why is Java a popular choice for developing cross-platform desktop applications?Apr 25, 2025 am 12:23 AM

    Javaispopularforcross-platformdesktopapplicationsduetoits"WriteOnce,RunAnywhere"philosophy.1)ItusesbytecodethatrunsonanyJVM-equippedplatform.2)LibrarieslikeSwingandJavaFXhelpcreatenative-lookingUIs.3)Itsextensivestandardlibrarysupportscompr

    Discuss situations where writing platform-specific code in Java might be necessary.Discuss situations where writing platform-specific code in Java might be necessary.Apr 25, 2025 am 12:22 AM

    Reasons for writing platform-specific code in Java include access to specific operating system features, interacting with specific hardware, and optimizing performance. 1) Use JNA or JNI to access the Windows registry; 2) Interact with Linux-specific hardware drivers through JNI; 3) Use Metal to optimize gaming performance on macOS through JNI. Nevertheless, writing platform-specific code can affect the portability of the code, increase complexity, and potentially pose performance overhead and security risks.

    What are the future trends in Java development that relate to platform independence?What are the future trends in Java development that relate to platform independence?Apr 25, 2025 am 12:12 AM

    Java will further enhance platform independence through cloud-native applications, multi-platform deployment and cross-language interoperability. 1) Cloud native applications will use GraalVM and Quarkus to increase startup speed. 2) Java will be extended to embedded devices, mobile devices and quantum computers. 3) Through GraalVM, Java will seamlessly integrate with languages ​​such as Python and JavaScript to enhance cross-language interoperability.

    See all articles

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    Video Face Swap

    Video Face Swap

    Swap faces in any video effortlessly with our completely free AI face swap tool!

    Hot Tools

    MinGW - Minimalist GNU for Windows

    MinGW - Minimalist GNU for Windows

    This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    Integrate Eclipse with SAP NetWeaver application server.

    Safe Exam Browser

    Safe Exam Browser

    Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

    mPDF

    mPDF

    mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

    Dreamweaver CS6

    Dreamweaver CS6

    Visual web development tools