资讯专栏INFORMATION COLUMN

Gradle使用笔记

不知名网友 / 2579人阅读

摘要:通用统一定义子项目的通用部分在根目录的中定义依赖打包后,自动创建添加一个任务在中定义执行任务的结果打包时,自动加入在中中包需要注意的是必须在上面。我之前是颠倒的总是报错

通用 统一定义子项目的通用部分

在根目录的build.gradle中定义:

</>复制代码

  1. subprojects{
  2. repositories {
  3. jcenter()
  4. }
  5. }
War war 依赖 war

</>复制代码

  1. war {
  2. into("/") {
  3. exclude "META-INF/MANIFEST.MF" // or whatever
  4. with project(":sub-project-name").war
  5. }
  6. }
打包war后,自动创建exploded war

添加一个任务

</>复制代码

  1. task explodedWar(type: Sync) {
  2. println "exploded war start"
  3. into "${buildDir}/exploded"
  4. with war
  5. println "exploded war end"
  6. }

在war中定义finalizedBy

</>复制代码

  1. war {
  2. finalizedBy "explodedWar"
  3. }

执行war任务的结果

</>复制代码

  1. 15:08:28: Executing external task "war"...
  2. exploded war start
  3. exploded war end
  4. :wbms-lib:compileJava UP-TO-DATE
  5. :wbms-lib:processResources UP-TO-DATE
  6. :wbms-lib:classes UP-TO-DATE
  7. :wbms-lib:jar UP-TO-DATE
  8. :wbms-web:compileJava UP-TO-DATE
  9. :wbms-web:processResources UP-TO-DATE
  10. :wbms-web:classes UP-TO-DATE
  11. :wbms-web-jetty-embed:compileJava UP-TO-DATE
  12. :wbms-web-jetty-embed:processResources UP-TO-DATE
  13. :wbms-web-jetty-embed:classes UP-TO-DATE
  14. :wbms-web-jetty-embed:war
  15. :wbms-web-jetty-embed:explodedWar
  16. BUILD SUCCESSFUL
  17. Total time: 8.522 secs
  18. 15:08:37: External task execution finished "war".
Jar 打包时,自动加入在manifest中dependencies中jar包

</>复制代码

  1. apply plugin: "java"
  2. sourceCompatibility = 1.8
  3. dependencies{
  4. ...
  5. }
  6. jar {
  7. manifest {
  8. attributes(
  9. "Main-Class": "com.cnvp.wbms.application.startup",
  10. "Implementation-Title": "Gradle",
  11. "Implementation-Version": version,
  12. "Class-Path": configurations.compile.collect {it.getName()}.join(" ")
  13. )
  14. }
  15. }

需要注意的是:dependencies必须在jar上面。我之前是颠倒的configurations.compile.collect {it.getName()}.join(" ")总是报错

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70187.html

相关文章

  • Gradle学习笔记 使用Gradle Wrapper

    摘要:可以在没有安装的情况下使用,这时候就需要了。创建文件使用来创建一组文件。官方建议我们在所有项目中都创建文件,方便没有安装的用户使用。代码如下然后使用来查看变更之后的版本。不过只需要下载一次,之后再次使用相同的版本就不会下载了。 Gradle可以在没有安装Gradle的情况下使用,这时候就需要Gradle Wrapper了。Gradle Wrapper其实就是一个脚本文件,它会在没有安装...

    Richard_Gao 评论0 收藏0
  • gradle-学习笔记(1)-初步使用

    摘要:最近想深入的学习一下工程化方面相关的东西,在和直接纠结不已,因为的扩展性太差劲了,学习成本颇高,所以最后投入了的怀抱中,以后有时间再重新学习一下吧最近的学习笔记是基于系列,其中各种教程和例子大都是来源于官方文档或者网络上的博客。 最近想深入的学习一下工程化方面相关的东西,在maven和gradle直接纠结不已,因为maven的扩展性太差劲了,学习成本颇高,所以最后投入了gradle的怀...

    frank_fun 评论0 收藏0
  • Gradle 笔记

    via: https://tianyu94.com/2019/06/... Make the impossible possible, make the possible easy, and make the easy elegant Gradle is Groovy Minimize Coupling, Maximize Cohesion Task 任务 task helloWorld {...

    coordinate35 评论0 收藏0
  • gradle-学习笔记(2)-多项目构建

    摘要:记得在中支持多个子项目的构建方法同样的在中也会支持多项目的构建方法还记得在中如何配置多项目工程吗这里回忆一下首先我们需要一个父元素文件比如这样而在中我们并不需要指定父元素的标签我们只需要编写好对应的文件夹名称,并且将文件夹名称和对 记得在maven中支持多个子项目的构建方法,同样的在gradle 中也会支持多项目的构建方法 还记得在maven中如何配置多项目工程吗, 这里回忆一下 首先...

    happen 评论0 收藏0
  • Gradle学习笔记(1)创建简单的Java项目

    摘要:是一个基于和概念的项目自动化构建工具。当前其支持的语言限于和主要面向应用。本次分享将具体讲述如何利用来创建一个简单的项目。首先我们新建一个文件夹作为展示的项目。中的代码如下这是用来定义项目。接着创建文件夹,这是项目开发中习惯性的构建方法。   Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)...

    URLOS 评论0 收藏0
  • 鸿蒙学习笔记之初运项目

    摘要:项目结构下面是我们创建项目生成的目录展开目录如下配置文件,由系统自动生成,一般情况下不需要进行修改开发工具的信息默认启动模块主模块,开发者用于编写源码文件以及开发资源文件的目录用于存放模块的依赖文件用于存放源码用于存放应用所用到的资源文件 1.项目结构 下面是我们创建项目生成的目录 1.M...

    不知名网友 评论0 收藏0

发表评论

0条评论

不知名网友

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<