最近碰到要给客户提供SDK,但是公司的业务有些需要用到一些地方jar包,所以需要将第三方jar包一起打包。
本次将为大家介绍两种方法打包
一、使用makeJar 打包jar
在build.gradle文件中添加
jar { //设置jar包的运行入口也就是main方法所在的类(如果有Main方法,如果不需要运行入口则无需设置)
manifest {
attributes 'Main-Class': 'com.wea.test.StrConvertExcelMain'
}
}
task makeJar(type: Copy) {
//删除存在的
delete'build/libs/string2Excel.jar'
//设置拷贝的文件
from('build/intermediates/classes/debug/')
from fileTree(dir: 'src/main')
include('classes.jar')
//打进jar包后的文件目录
into('build/libs/')
//重命名
rename('classes.jar','string2Excel.jar')
}
//
makeJar.dependsOn(build)
sourceCompatibility = "1.7"
targetCompatibility = "1.7"
使用makeJar 打包不能将所依赖的jar合并打包所以我们要使用工ant工具(Ant下载)将所依赖的jar和打包出来的jar合并成一个新的jar包。ant使用方法(配置方法自行度娘哈):
1编写执行文件 build.xml
<?xml version="1.0" encoding="utf-8"?>
<project
name="test"
basedir="F:\mergejar" //文件目录
default="makeSuperJar" >
<target
name="makeSuperJar"
description="description" >
//生成的jar名字
<jar destfile="test1.jar" >
//需要合并的jar
<zipfileset src="afinal_0.5.1_bin.jar" />
<zipfileset src="imageloader.jar" />
<zipfileset src="UPPayAssistEx.jar" />
<zipfileset src="UPPayPluginExPro.jar" />
</jar>
</target>
</project>
2 执行 ant -buildfile F:\mergejar\build.xml
二、使用 shadowJar打包
使用shadowJar进行打包jar我们需要用到一个第三方的插件,在build.gradle文件中加入
apply plugin: 'java'
apply plugin: 'com.github.johnrengelman.shadow'
shadowJar{
manifest{ //main方法所在的类
attributes 'Main-Class': 'com.szfcar.clouddiagapp.db.convert.StrConvertExcelMain'
}
//名字 版本
baseName='StrConvertExcelMain'
classifier=null
version='V1.0'
}
dependencies {
classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.0'
}
重新编译在gradle任务栏中会多shadow 的task
我们双击shadowJar即可生成包含依赖了第三方jar包的Jar包
文章到此,希望对大家有用