Gradle打jar包,包含所有依赖
来源:互联网 发布:平湖校区网络教学平台 编辑:程序博客网 时间:2024/04/30 22:42
前言
最近被gradle折腾的欲仙欲死。
gradle想把所有依赖打进jar包主要有两种方式:一种是重写jar动作,一种是用第三方插件。
为了装x,我一直都是用的第一种方式,结果出了问题解决不了,为了不影响进度,只能先用第三方了。
重写jar动作
主要是into这一句,可以参照gradle的api文档。里面专门讲了这一块。
这种方式生成的jar包,是把所有的依赖全部打进了lib中。我一直在用这种方式打包。
然后在用spark-submit提交任务的时候,仍然会出现缺包的问题,比如我在运行spark-streaming程序的时候,就是死活找不到KafkaUtil$。但是相关的jar包的确是打进去了,百思不得其解。
所以就用了下面这种方式。
jar { manifest { //incubating版本,以后版本可能会改API attributes("Main-Class": "com.KafkaWordCount", "Implementation-Title": "Gradle") } into('lib') { from configurations.runtime }}
shadow
贴了一整个我的测试程序。
这种方式在使用spark提交任务的时候就OK了。
plugins { id 'com.github.johnrengelman.shadow' version '1.2.3' id 'java' id 'scala' id 'idea' id 'application'}group 'com.lagou'version '1.0-SNAPSHOT'sourceCompatibility = 1.7targetCompatibility = 1.7mainClassName="com.KafkaWordCount"repositories { mavenLocal() //使用maven本地库 mavenCentral()}ext{ scala_version = '2.10.6' kafka_version = '0.8.2.2' spark_version = '1.6.0'}//使用shadow插件打包,代替jar功能。jar { manifest { //incubating版本,以后版本可能会改API attributes("Main-Class": "com.KafkaWordCount", "Implementation-Title": "Gradle") }}dependencies { //scala compile "org.scala-lang:scala-library:$scala_version" compile "org.scala-lang:scala-compiler:$scala_version" //spark compile "org.apache.spark:spark-core_2.10:$spark_version" compile "org.apache.spark:spark-streaming_2.10:$spark_version" compile "org.apache.spark:spark-streaming-kafka_2.10:$spark_version" //kafka compile "org.apache.kafka:kafka_2.10:$kafka_version" compile "org.apache.kafka:kafka-clients:$kafka_version" //junit testCompile group: 'junit', name: 'junit', version: '4.11'}
0 0
- Gradle打jar包,包含所有依赖
- gradle打jar包,依赖分离
- 使用Gradle生成包含所有依赖库(.jar或.aar)的aar包
- 使用Gradle生成包含所有依赖库(.jar或.aar)的aar包
- maven打jar包并且包含部分依赖jar
- maven项目打jar包时包含依赖
- 利用gradle shadowjar构建包含依赖的JAR包
- 利用maven-shade-plugin打包包含所有依赖jar包
- Maven打包生成包含所有依赖的jar包
- Maven打包生成包含所有依赖的jar包
- maven 打jar 包 并将所有依赖打到jar里面
- 用myeclipse打jar包,使其包含第三方依赖jar包的指向
- 用myeclipse打jar包,使其包含依赖jar包的指向
- gradle 打可执行jar包
- 用Gradle打jar包
- gradle 排除jar包依赖
- maven打可运行jar,包含依赖jar,且打成zip包
- IDEA maven 打可执行jar包 包括依赖jar文件和所有配置文件资源文件
- 《LINUX3.0内核源代码分析》第三章:内核同步(1)
- No Dialect mapping for JDBC type 错误分析
- run文件的安装
- bzoj1070: [SCOI2007]修车-费用流
- PHP中常量的定义
- Gradle打jar包,包含所有依赖
- 经典算法题一览
- JavaScript prototype of object
- 【项目 4:穷举法解决组合问题】
- (4.5.3.2)android studio编译项目,9 patch图片报错Crunching Cruncher
- 二叉树系列——二叉树的最大距离(即相距最远的两个叶子节点,编程之美,百度面试题)
- shell之dns_zone的配置含义
- python execfile()和locals()函数
- Hdu 1051(贪心思想)