阅读更多

0顶
0踩

编程语言

原创新闻 使用gradle构建java项目

2018-07-16 13:17 by 见习记者 hw1287789687 评论(0) 有17555人浏览

gradle 是什么

gradle 是一个让构建自动化的工具,类似于maven,ant的功能.
使用gradle可以给java项目编译,单元测试,打包,或者生成可执行的jar包等

gradle的依赖环境

gradle依赖java环境,所以使用gradle前需要安装jdk 或jre

gradle 构建项目的流程

gradle的构建依赖于task, task可以指定与其他task之间的依赖关系 比如,有两个task,walk 和bike,如果指定walk依赖bike,那么 执行walk前会先执行bike.

task的来源有两种:

  1. 1.插件提供,gradle有很多现成的插件;



 

 

  1. 2.自定义:在build.gradle 文件中声明task


 

task 能实现哪些功能

下面是一些常用的基本功能

复制

 

task walk(description:'walk') {
    doLast {
        copy {
            into 'demo'
            exclude '**/.svn/**'
            from('README.md')
        }
    }
}

  

 

删除

 

task walk(description:'walk') {
    doLast {
        println 'walk...'
      
        project.delete {
            delete 'README.md'
            followSymlinks = true
        }
        
    }
}

参考:https://docs.gradle.org/current/dsl/org.gradle.api.Project.html#N1512A 

 

 

 

 

如何执行任务

方式一:使用全局命令

gradle <任务名>



 

方式二:使用项目中的脚本

./gradlew <任务名>



 

引入本地jar包

 

compile project.fileTree(dir:'/Users/whuanghkl/code/mygit/myproject/target',include:['io0007-0.0.1.jar'])

 

 

gradle的插件有哪些

参考 https://docs.gradle.org/current/userguide/userguide.html



 

如何查询依赖的版本

gradle中依赖的仓库有多种:


参考:https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.dsl.RepositoryHandler.html

我们可以选择 maven仓库: 

 

repositories {
    mavenCentral()
}

 

 

那么查询依赖就和maven一样了.

生成可执行的jar包

我的项目是spring boot,所以需要引入插件'org.springframework.boot'
id 'org.springframework.boot' version '2.0.3.RELEASE'
需要在build.gradle 文件中 指定可执行jar的main class :

 

jar {
    manifest {
        attributes 'Main-Class': 'com.kunlunsoft.Application'
    }
}

 

 

执行任务bootJar 就可以生成可执行的jar包





  

gradle 与maven相比有哪些优势

  1. 因为基于 groovy,功能更强大,可以很方便的自定义任务;
  2. 添加依赖更简洁方便,maven 需要三行,gradle只需要一行;
  3. 任务的执行流程更灵活,不像maven的生命周期那么固定.

我项目中完整的build.gradle 文件如下:

 

plugins {
    id 'java'
    id 'base'
//    id 'application'
    id 'org.springframework.boot' version '2.0.3.RELEASE'
}


//mainClassName = "com.kunlunsoft.Application"
group 'com.kunlunsoft'
version '1.0.0-SNAPSHOT'

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
    mavenCentral()
}

jar {
    manifest {
        attributes 'Main-Class': 'com.kunlunsoft.Application'
    }
}
task walk(description:'walk') {
    doLast {
        println 'walk...'
    }
}



dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    testCompile("org.springframework.boot:spring-boot-starter-test")
    //数据源
    compile 'org.springframework.boot:spring-boot-starter:1.5.14.RELEASE'
    compile 'org.springframework.boot:spring-boot-starter-web:1.5.14.RELEASE'
    compile 'org.springframework.boot:spring-boot-starter-data-redis:1.5.14.RELEASE'
    compile 'mysql:mysql-connector-java:5.1.38'

    compile project.fileTree(dir:'/Users/whuanghkl/code/myproject/target',include:['io0007-0.0.1-SNAPSHOT.jar'])
    compile 'com.google.guava:guava:23.0-rc1'
    compile 'org.apache.commons:commons-email:1.5'
    compile 'org.codehaus.jackson:jackson-mapper-lgpl:1.9.12'
    //redis
//    compile 'org.springframework.data:spring-data-redis:1.8.13.RELEASE'
    compile 'redis.clients:jedis:2.9.0'
    compile 'org.springframework.statemachine:spring-statemachine-core:1.2.0.RELEASE'
    compile 'com.alibaba:fastjson:1.2.47'

//配置mybatis
    compile "org.mybatis.spring.boot:mybatis-spring-boot-starter:1.1.1"

    compile 'org.springframework.boot:spring-boot-gradle-plugin:1.5.14.RELEASE'
//    compile 'org.springframework:springloaded:1.5.14.RELEASE'
}

 

 

参考:https://my.oschina.net/huangweiindex/blog/1844872

https://my.oschina.net/huangweiindex/blog/1842459

0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 使用 Gradle 构建 Java 项目

    本指南将引导您使用 Gradle 构建一个简单的 Java 项目。

  • 使用Gradle构建Java项目

    这个手册将通过一个简单的Java项目向大家介绍如何使用Gradle构建Java项目。 我们将在这篇文档航中创建一个简单的Java项目,然后使用Gradle构建它。预留15分钟空闲时间一件称手的兵器(你最喜欢的IDE或者文本编辑器)...

  • java源码无lib文件夹-gs-gradle:使用Gradle构建Java项目::了解如何使用Gradle构建Java项目

    项目以进行构建。 为了保持对 Gradle 的关注,现在让项目尽可能简单。 在src/main/java/hello目录中,您可以创建您想要的任何 Java 类。 为简单起见并与本指南的其余部分保持一致,Spring 建议您创建两个类: Hello...

  • gs-gradle, 使用Gradle构建Java项目.zip

    gs-gradle, 使用Gradle构建Java项目 标记项目gradle目录你将构建什么。你需要什么。设置了项目项目。安装 Gradle找出Gradle可以做什么。构建Java代码声明依赖项使用Gradle包装程序生成项目。摘要文件另请参

  • 5分钟了解Gradle并构建java项目

    5分钟了解Gradle并构建java项目

  • 使用gradle构建Java项目

    Gradle和许多插件在一起运行。插件是Gradle的扩展,它以某种方式...大部分Java项目的构建都十分相似: 编译Java源码文件。 运行一些单元测试并且创建一个JAR文件来包含你的class文件。 Groovy通过使用Gradle的J...

  • gradle如何构建java项目

    之前的文章我们讲到了gradle的基本使用,使用gradle的最终目的就是为了构建java项目。今天本文将会详细的讲解如何在gradle中构建java项目。 构建java项目的两大插件 安装java项目的目的不同,构建java项目有两大...

  • Gradle构建 Java项目示例

    Gradle构建 Java项目,简单的把java 项目构建成jar

  • 用Gradle构建Java项目

    用Gradle构建Java项目 本指南将引导您使用Gradle构建一个简单的Java项目。 你要建什么 您将创建一个简单的应用程序,然后使用Gradle构建它。 你需要什么 大约15分钟 最喜欢的文本编辑器或IDE JDK 6...

  • gradle系列笔记一:使用gradle构建java项目

    gradle构建编译java项目

  • 《gradle教程系列》三.使用gradle构建Java项目

    0.背景一般Java项目的过程都是,下载和管理依赖jar包,编译源文件,进行单元测试,打包项目为Jar文件。单纯的使用Gradle只能做到部分功能,最常见的就是下载和管理依赖jar包等等,剩下的功能需依赖于插件才能完成。...

  • 命令构建gradle项目_使用Gradle构建项目

    Gradle 是一款基于 Groovy 语言、免费开源的构建工具,它既保持了 Maven 的优点,又通过使用 Groovy 定义的 DSL 克服了 Maven 中使用 XML 繁冗以及不灵活的缺点。安装一种方式是从 官方 下载解压然后配置环境变量。...

  • IDEA使用gradle创建java普通项目

    IDEA使用gradle创建java普通项目 一、gradle新建java项目 1.1先安装好Gradle,创建新项目,选择Gradle,选择对应的JDK,勾选Java: 1.2定义项目组织结构和项目名称 1.3 gradle工程初始化设置 1.4 指定...

  • 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip

    【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip

  • 六一儿童节快乐!(六一儿童节庆祝代码)Vue开发

    六一儿童节快乐!(六一儿童节庆祝代码)Vue开发 like Project setup npm install Compiles and hot-reloads for development npm run serve Compiles and minifies for production npm run build Lints and fixes files npm run lint Customize configuration

  • uniapp聊天工具源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

  • NX二次开发uc1603 函数介绍

    NX二次开发uc1603 函数介绍,Ufun提供了一系列丰富的 API 函数,可以帮助用户实现自动化、定制化和扩展 NX 软件的功能。无论您是从事机械设计、制造、模具设计、逆向工程、CAE 分析等领域的专业人士,还是希望提高工作效率的普通用户,NX 二次开发 Ufun 都可以帮助您实现更高效的工作流程。函数覆盖了 NX 软件的各个方面,包括但不限于建模、装配、制图、编程、仿真等。这些 API 函数可以帮助用户轻松地实现自动化、定制化和扩展 NX 软件的功能。例如,用户可以通过 Ufun 编写脚本,自动化完成重复性的设计任务,提高设计效率;或者开发定制化的功能,满足特定的业务需求。语法简单易懂,易于学习和使用。用户可以快速上手并开发出符合自己需求的 NX 功能。本资源内容 提供了丰富的中英文帮助文档,可以帮助用户快速了解和使用 Ufun 的功能。用户可以通过资源中的提示,学习如何使用 Ufun 的 API 函数,以及如何实现特定的功能。

  • 【目标检测数据集】遥感类军用飞机检测数据集3800张20类别VOC+YOLO格式.zip

    【目标检测数据集】遥感类军用飞机检测数据集3800张20类别VOC+YOLO格式.zip 数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):3821 标注数量(xml文件个数):3821 标注数量(txt文件个数):3821 标注类别数:20 标注类别名称:["A1","A2","A3","A4","A5","A6","A7","A8","A9","A10","A11","A12","A13","A14","A15","A16","A17","A18","A19","A20"] 每个类别标注的框数: A1 框数 = 1646 A2 框数 = 1726 A3 框数 = 1164 A4 框数 = 642 A5 框数 = 1262 A6 框数 = 436 A7 框数 = 680 A8 框数 = 944 A9 框数 = 1073 A10 框数 = 924 A11 框数 = 501 A12 框数 = 702 A13 框数 = 1652 A14 框数 = 177

  • grpcio-1.64.0-cp38-cp38-win_amd64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

  • Kan网络pytorch的实现

    权重替换:KAN网络通过将权重参数替换为可学习的单变量函数,提高了网络的性能和可解释性。这种设计使得KAN网络在准确性和可解释性方面优于传统的多层感知器(MLP)。 激活函数位置:与传统的MLP不同,KAN网络中的激活函数位于网络的“边”(即权重)上,而不是节点上。这使得KAN网络能够更灵活地调整每个连接上的激活函数,从而提高模型的表示能力。 非线性核函数:KAN网络可以使用非线性核函数来替代MLP“边”上的线性函数,进一步增强了模型的非线性处理能力。 逼近精度:KAN网络可以设定细粒度的结点(Knot)来提高逼近精度,这使得KAN网络在处理复杂任务时能够获得更高的准确度。 KAN网络的数学理论基础主要来自于Kolmogorov-Arnold表示定理。该定理指出,任意一个多变量连续函数都可以表示为有限数量的单变量连续函数的两层嵌套加法的形式。KAN网络正是基于这一定理,通过将多元函数的学习转化为对一组单变量函数的学习,提高了模型的表达能力和计算效率。

Global site tag (gtag.js) - Google Analytics