快速业务通道

在Eclipse下利用gradle构建系统 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
hJarFile {   repositories {    flatDir(dirs: file(''jarsDerectory''))   }   }

然后我们利用 gradle publishJarFile 命令即可。注:清单 16 是将工程下的 java 类文件全部打成 jar 包,然后放到工程目录下的 jarsDerectory 子目录中。

Maven 对于 jar 包的仓库管理方法给我们提供了很多方便,Gradle 完全可以利用 Maven 的这一优点 的,我们在上面已经讲过了如何来使用,那么我们又是怎么来做到将项目所需要的 jar 包更新到仓库中 呢?具体解决方法见清单 17。

清单 17. 发布 jar 文件到 Maven 的仓库中

apply plugin: ''maven''   publishToMaven {   repositories.mavenDeployer {   repository(url: "file://localhost/tmp/myRepo/")   }   }

在Eclipse下利用gradle构建系统(9)

时间:2011-08-02 IBM 苏春波

Gradle 在多个工程中的应用

做项目时候,经常会碰到多个工程的情况,最通常的情况我们也分为服务器端和客户端两部分,这种 情况我们过去用 Ant 时候会在每个工程下面都建立个 build.xml 文件或者建立一个 build.xml 文件, 然后在这个 build.xml 文件中建立不同工程的 target,将将被引用的工程打成 jar 包来供其他工程引 用,那么 Gradle 是怎样来完成这样的需求的呢?下面我们举个具体的例子来详细演示下。首先我们新建 一个主工程命名为 gradle_multiProject, 然后在主工程下在新建一个子工程命名为 sub_projectOne, 在两个工程下面都有一个各自独立的 src 并且符合 Gradle 要求的目录结构,在每个工程下面都建个类 命名为 HelloWorld,类内容同清单 1. 然后我们新建个 settings.gradle 文件,内容见清单 18。

清单 18. settings.gradle 文件内容

include "sub_projectone"

然后在新建一个我们熟悉的 build.gradle 文件,文件内容见清单 19。

清单 19. 主工程目录下 build.gradle 文件内容

Closure printProjectName = { task -> println "I''m  $task.project.name" }   task hello << printProjectName   project('':sub_projectone'') {   task hello << printProjectName   }

然后我们使用命令 gradle – q hello 运行一下,运行结果如清单 20 所示。

清单 20. 命令运行结果

E:\ws_IBM\gradle_multiProject>gradle -q hello   I''m gradle_multiProject   I''m sub_projectone 

我们会发现,这个命令将主工程和子工程的名字都打印出来了,为什么会这样呢?我想你一定猜对了 ,因为我们在 build.gradle 文件中使用了 project() 方法,方法内传入的是子工程的名称,如果我们 子工程不止一个,那么我们又该怎样来调用呢?这时候我们只需要调用另一个方法 allprojects 即可, 注意 allprojects 方法是不需要传入参数的,它返回的是当前工程和当前工程下面的所有子工程的列表 。上面演示的内容其实我们不经常用到的,这里简单的介绍下就是为了说明 gradle 给我们提供了好多方 法来供我们调用,在多工程的环境下我们可以灵活的使用它们来达到我们的要求,下面我们就步入正题来 看看在多工程情况下,gradle 是如何来编译,打包各自工程的。这里我们添加些内容到 build.gradle 文件,内容见清单 21。

清单 21. 添加到 build.gradle 文件中的内容

subprojects{   apply plugin: ''java''   }

然后我们用命令 gradle build,发现主工程下面的所有子工程都新增了一个 build 文件夹,这个文 件夹下包含编译生成的 class 文件和 jar 文件,而主工程的 src 下的代码却没有被编译,打包。那么 我们怎样做能让主工程和子工程同时被编译,打包呢?方法很简单,我们只需要在 build.gradle 文件中 增

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号