iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么使用java构建工具gradle
  • 342
分享到

怎么使用java构建工具gradle

2023-06-25 12:06:20 342人浏览 安东尼
摘要

本篇内容主要讲解“怎么使用java构建工具gradle”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用java构建工具gradle”吧!  现在我们都在谈领域驱动设计,Gradle本身的领

本篇内容主要讲解“怎么使用java构建工具gradle”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用java构建工具gradle”吧!

      现在我们都在谈领域驱动设计,Gradle本身的领域对象主要有Project和Task。Project为Task提供了执行上下文,所有的Plugin要么向Project中添加用于配置的Property,要么向Project中添加不同的Task。一个Task表示一个逻辑上较为独立的执行过程,比如编译Java源代码,拷贝文件,打包jar文件,甚至可以是执行一个系统命令或者调用Ant。另外,一个Task可以读取和设置Project的Property以完成特定的操作。

      让我们来看一个最简单的Task,创建一个build.gradle文件,内容如下:

    task helloWorld << {   println "Hello World!"}

      这里的“<<”表示向helloWorld中加入执行代码——其实就是groovy代码。Gradle向我们提供了一整套DSL,所以在很多时候我们写的代码似乎已经脱离了groovy,但是在底层依然是执行的groovy。比如上面的task关键字,其实就是一个groovy中的方法,而大括号之间的内容则表示传递给task()方法的一个闭包。除了“<<”之外,我们还很多种方式可以定义一个Task,我们将在本系列后续的文章中讲到。

      在与build.gradle相同的目录下执行:

    gradle helloWorld

      命令行输出如下:

    :helloWorldHello World!BUILD SUCCESSFULTotal time: 2.544 secs

      在默认情况下,Gradle将当前目录下的build.gradle文件作为项目的构建文件。在上面的例子中,我们创建了一个名为helloWorld的Task,在执行gradle命令时,我们指定执行这个helloWorld Task。这里的helloWorld是一个DefaultTask类型的对象,这也是定义一个Task时的默认类型,当然我们也可以显式地声明Task的类型,甚至可以自定义一个Task类型(我们将在本系列的后续文章中讲到)。

      比如,我们可以定义一个用于文件拷贝的Task:

    task copyFile(type: Copy) {   from 'xml'   into 'destination'}

      以上copyFile将xml文件夹中的所有内容拷贝到destination文件夹中。这里的两个文件夹都是相对于当前Project而言的,即build.gradle文件所在的目录。

      Task之间可以存在依赖关系,比如taskA依赖于taskB,那么在执行taskA时,Gradle会先执行taskB,然后再执行taskA。声明Task依赖关系的一种方式是在定义一个Task的时候:

    task taskA(dependsOn: taskB) {   //do something}

      Gradle在默认情况下为我们提供了几个常用的Task,比如查看Project的Properties、显示当前Project中定义的所有Task等。可以通过一下命令查看Project中所有的Task:

    gradle tasks

      输出如下:

    :tasks

    ------------------------------------------------------------
    All tasks runnable from root project
    ------------------------------------------------------------

    Build Setup tasks
    -----------------
    setupBuild - Initializes a new Gradle build. [incubating]
    wrapper - Generates Gradle wrapper files. [incubating]

    Help tasks
    ----------
    dependencies - Displays all dependencies declared in root project 'gradle-blog'.
    dependencyInsight - Displays the insight into a specific dependency in root project 'gradle-blog'.
    help - Displays a help message
    projects - Displays the sub-projects of root project 'gradle-blog'.
    properties - Displays the properties of root project 'gradle-blog'.
    tasks - Displays the tasks runnable from root project 'gradle-blog'.

    Other tasks
    -----------
    copyFile
    helloWorld

    To see all tasks and more detail, run with --all.

    BUILD SUCCESSFUL

    Total time: 2.845 secs

      可以看到,除了我们自己定义的copyFile和helloWorld之外,Gradle还默认为我们提供了dependencies、projects和properties等Task。dependencies用于显示Project的依赖信息,projects用于显示所有Project,包括根Project和子Project,而properties则用于显示一个Project所包含的所有Property。

      在默认情况下,Gradle已经为Project添加了很多Property,我们可以调用以下命令进行查看:

    gradle properties

      输出如下:

    :properties

    ------------------------------------------------------------
    Root project
    ------------------------------------------------------------

    allprojects: [root project 'gradle-blog']
    ant: org.gradle.api.internal.project.DefaultAntBuilder@1342097

    buildDir: /home/davenkin/Desktop/gradle-blog/build
    buildFile: /home/davenkin/Desktop/gradle-blog/build.gradle
    ...
    configurations: []
    convention: org.gradle.api.internal.plugins.DefaultConvention@11492ed
    copyFile: task ':copyFile'
    ...
    ext: org.gradle.api.internal.plugins.DefaultExtraPropertiesExtension@1b5d53a
    extensions: org.gradle.api.internal.plugins.DefaultConvention@11492ed
    ...
    helloWorld: task ':helloWorld'
    ...
    plugins: [org.gradle.api.plugins.HelpTasksPlugin@7359f7]
    project: root project 'gradle-blog'
    ...
    properties: {...}
    repositories: []

    tasks: [task ':copyFile', task ':helloWorld']
    version: unspecified

    BUILD SUCCESSFUL

    Total time: 2.667 secs

      在以上Property中,allprojects表示所有的Project,这里只包含一个根Project,在多项目构建中,它将包含多个Project;buildDir表示构建结果的输出目录;我们自己定义的helloWorld和copyFile也成为了Project中的Property。另外,Project还包括用于执行Ant命令的DefaultAntBuilder(Property名为ant)和Project的描述属性description。

    到此,相信大家对“怎么使用java构建工具gradle”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    --结束END--

    本文标题: 怎么使用java构建工具gradle

    本文链接: https://www.lsjlt.com/news/304489.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 怎么使用java构建工具gradle
      本篇内容主要讲解“怎么使用java构建工具gradle”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用java构建工具gradle”吧!  现在我们都在谈领域驱动设计,Gradle本身的领...
      99+
      2023-06-25
    • Java构建工具gradle怎么安装使用
      本文小编为大家详细介绍“Java构建工具gradle怎么安装使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java构建工具gradle怎么安装使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。学习Java的...
      99+
      2023-06-27
    • Java Maven构建工具中mvnd和Gradle谁更快
      目录1.mvnd 简介2.Gradle 简介2.1 Gradle 优点简述3.Gradle 使用3.1 更换 Gradle 为国内源3.2 项目依赖文件对比3.3 settings....
      99+
      2024-04-02
    • java项目构建Gradle怎么用
      这篇文章给大家分享的是有关java项目构建Gradle怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、相关介绍Gradle是一个好用的构建工具 ,使用它的原因是:配置相关依赖代码量少,不会像maven一样...
      99+
      2023-06-29
    • 现代高效的java构建工具gradle的快速入门
        和Maven一样,Gradle只是提供了构建项目的一个框架,真正起作用的是Plugin。Gradle在默认情况下为我们提供了许多常用的Plugin,其中包括有构建Java项目的P...
      99+
      2024-04-02
    • java项目构建Gradle的使用教程
      目录一、相关介绍二、安装三、IED中的使用1、IDEA2、Eclipse四、问题说明一、相关介绍 Gradle是一个好用的构建工具 ,使用它的原因是: 配置相关依赖代码量少,不会像m...
      99+
      2024-04-02
    • electron开发构建工具怎么用
      今天小编给大家分享一下electron开发构建工具怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言得益于 Vite ...
      99+
      2023-06-29
    • 怎么使用 Gradle构建Spring-Boot的Docker镜像
      这期内容当中小编将会给大家带来有关怎么使用 Gradle构建Spring-Boot的Docker镜像,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。通常我们使用 Dockerfile 来构建项目的Docke...
      99+
      2023-06-19
    • Vue更高效的构建工具Vite怎么使用
      今天小编给大家分享一下Vue更高效的构建工具Vite怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。webpack我们...
      99+
      2023-07-05
    • golang构建工具Makefile使用详解
      目录正文正文 可能是因为编译太简单了,golang 并没有一个官方的构建工具(类似于 java 的 maven 和 gradle之类的),但是除了编译,我们可能还需要下载依赖,运行测...
      99+
      2024-04-02
    • 前端构建工具之gulp怎么用
      这篇文章将为大家详细讲解有关前端构建工具之gulp怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言在如今的前端开发中,已经不再是一些静态文件了。对于很多Web A...
      99+
      2024-04-02
    • Linux自动化构建工具make和Makefile怎么使用
      这篇文章主要讲解了“Linux自动化构建工具make和Makefile怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux自动化构建工具make和Makefile怎么使用”吧!一...
      99+
      2023-07-06
    • java树结构stream工具类怎么用
      本文小编为大家详细介绍“java树结构stream工具类怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“java树结构stream工具类怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。菜单实体类pack...
      99+
      2023-06-29
    • 怎么用Maven实现项目构建工具
      本篇内容主要讲解“怎么用Maven实现项目构建工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Maven实现项目构建工具”吧!1.Maven介绍1.1Maven是什么Maven项目对象模...
      99+
      2023-07-02
    • Eclipse中的重构工具怎么使用
      在Eclipse中,可以使用重构工具来帮助对代码进行重构,例如重命名变量、提取方法、提取接口等操作。以下是使用重构工具的步骤: ...
      99+
      2024-04-03
      Eclipse
    • Gradle构建系统macOS安装与使用
      打开gradle.org并点击安装  2.先决条件  ,确认安装JDK1.8或者更高版本已安装  在终端输入brew install gradle进行安装  安装成功如下:  查看安装版本号gradle -v  使用gradle 创...
      99+
      2023-10-01
      macos gradle android 构建系统
    • Java的Classpath工具怎么使用
      这篇文章主要介绍“Java的Classpath工具怎么使用”,在日常操作中,相信很多人在Java的Classpath工具怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java的Classpath工具怎...
      99+
      2023-06-03
    • Java的javap工具怎么使用
      这篇文章主要讲解了“Java的javap工具怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java的javap工具怎么使用”吧!一:简介javap是JDK自带的反汇编器,可以查看ja...
      99+
      2023-06-02
    • Java的keytool工具怎么使用
      这篇文章主要介绍“Java的keytool工具怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java的keytool工具怎么使用”文章能帮助大家解决问题。一、keytool的概念  keyt...
      99+
      2023-06-29
    • Java工具类RelativeDateFormat怎么使用
      要使用Java工具类RelativeDateFormat,您可以按照以下步骤进行操作:1. 下载RelativeDateFormat...
      99+
      2023-10-20
      Java
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作