Gradle进行项目jar打包

Ant 和 Maven构建工具都是用xml来描述任务结构的,总体而言打包项目等任务都可以,但毕竟xml的灵活性稍微差些,

新的企业构建工具Gradle就类似于linux上的shell脚本,采用Groovy动态语言编写脚本。

版本:2.2的Gradle

// date 20141220
apply plugin : 'java'
version='0.1'
archivesBaseName="myfirstpj"  //不写的话 就是项目名称+版本号
repositories {
     mavenCentral()
}

sourceSets {
    main {
        java {
            srcDirs=['src']
        }
    }
}

dependencies {
  compile fileTree(dir:'lib',include:'*.jar')
}

//依赖编译,然后打包JAR
task taskJar(type:Jar, dependsOn: compileJava) {
    from 'build/classes'
    destinationDir = file('build/libs')
}

//清除上次的编译过的文件
task clearPj(type:Delete){
   delete 'build','target'
}

//把JAR复制到目标目录
task release(type: Copy,dependsOn: [clearPj,taskJar]) {
    from('build/libs') {
        include '*.jar'
    }
    into ('target')
}

执行 gradle release  即可

确实很好用,

命令和任务属性可参考文档DSL   http://www.gradle.org/docs/current/dsl/ 

时间: 2024-12-14 09:18:19

Gradle进行项目jar打包的相关文章

Gradle构建SpringBoot并打包可运行的jar配置

使用Gradle构建项目,继承了Ant的灵活和Maven的生命周期管理,不再使用XML作为配置文件格式,采用了DSL格式,使得脚本更加简洁. 构建环境: jdk1.6以上,此处使用1.8 Gradle 4.4.1 SpringBoot idea 一.下载并安装Gradle Gradle官网 Gradle官网 1.下载Gradle 下载Gradle Gradle版本下载 2.解压Gradle 下载之后解压到你想存放的目录 Gradle解压 3.设置Gradle环境变量 创建一个环境变量 GRADL

Gradle多项目构建与jar包发布

Gradle多项目构建 关于项目模块化: 在企业项目中,包层次和类关系比较复杂,把代码拆分成模块通常是最佳实践,这需要你清晰的划分功能的边界,比如把业务逻辑层和数据持久化层拆分开来.项目符合高内聚低耦合时,模块化就变得很容易,这是一条非常好的软件开发实践 通常在使用Maven构建项目的时候,我们会将一个项目划分为多个模块,然后通过父工程去管理子模块.而 Gradle 也拥有类似的功能,我们将其称之为多项目构建(multi-project build).所以本小节我们来看看,如何使用 Gradle

(转)eclipse下 gradle构建项目

原文:http://www.ibm.com/developerworks/cn/opensource/os-cn-gradle/ 在 eclipse 下利用 gradle 构建系统 基本开发环境 操作系统:本教程使用的为 Windows Vista Enterprise, 如果您的系统是 Linux 的,请选择下载对应版本的其他工具,包括开发工具.Java EE 服务器.Apache Ant.SoapUI. 开发工具:Eclipse IDE for SOA Developers 版本,请到 ht

[转] 使用Spring Boot和Gradle创建项目

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置. 本文主要是记录使用 Spring Boot 和 Gradle 创建项目的过程,其中会包括 Spring Boot 的安装及使用方法,希望通过这篇文章能够快速搭建一个项目. 开发环境 操作系统: mac JDK:1.7.0_60 Gradle:2.2.1 创建项目 你可以通过 Spring I

由提交storm项目jar包引发对jar的原理的探索

序:在开发storm项目时,提交项目jar包当把依赖的第三方jar包都打进去提交storm集群启动时报了发现多个同名的文件错误由此开始了一段对jar包的深刻理解之路. java.lang.RuntimeException: Found multiple defaults.yaml resources. You're probably bundling the Storm jars with your topology jar. [jar:file:/home/hadoop/app/storm/l

使用Gradle发布项目到JCenter仓库 (转载)

原文:使用Gradle发布项目到JCenter仓库 这篇文章介绍通过Gradle把开源项目发布到公共仓库JCenter中,方便你我他的事情,我们都是很懒的嘛.JCenter现在是Android Studio中repositories的默认节点了,之前是Maven的,不过JCenter是兼容Maven的,所以放心使用.步骤基本是按Publishing Gradle Android Library to jCenter Repository这里来的,英文能看的直接看这篇也行.下面我的步骤正式开始,发

一周总结(Android):Gradle和ProGuard混淆打包

一周总结 这是第一次再CSDN和结合写工作总结,期待好的开始和进一步的提升. 最近一周 切换到AndroidStudio下工作了一段时间,目前自己觉得还有两个地方做得不足 1.经常看到Gradle代码,但是没有做细致全面的了解: 2.使用Proguard混淆的知识也没有做全面的了解: 最近一周主要是对Gradle和ProGuard的使用做了一些深入了了解和总结,主分别写了以下3篇总结文章: Android-Gradle基础脚本解析 Gradle语法基础解析 ProGuard基础语法和打包配置 方

使用Gradle发布项目到JCenter仓库

转:http://www.jcodecraeer.com/a/anzhuokaifa/Android_Studio/2015/0227/2502.html 编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识.前端.后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! 原文:使用Gradle发布项目到JCenter仓库 这篇文章介绍通过Gradle把开源项目发布到公共仓库JCenter中,方便你我他的事情,我们都是很懒

android库工程jar打包和混淆

公司有个项目需要以库的形式提供给第三方使用,但是java代码又不想别人知道,还有资源文件也需要一起打包,很常见的需求,下面就是解决此事的过程. 1.直接将库工程提供给第三方,android库工程引用方式 被老板pass,代码客户都可以看到,不行. 2.将库工程TestLib的src导出成jar,把res目录直接发给第三方 失败.导出的jar依然是引用库工程的R文件(com.test.lib.R),但是资源提供给第三方后,生成的R为com.test.R,因此运行时找不到com.test.lib.R