storm maven-shade-plugin
storm-core pom
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<keepDependenciesWithProvidedScope>false</keepDependenciesWithProvidedScope>
<promoteTransitiveDependencies>false</promoteTransitiveDependencies>
<createDependencyReducedPom>true</createDependencyReducedPom>
<minimizeJar>false</minimizeJar>
<artifactSet>
<includes>
<include>ns-tracker:ns-tracker</include>
<include>hiccup:hiccup</include>
<include>ring:*</include>
<include>compojure:compojure</include>
<include>clj-time:clj-time</include>
<include>org.apache.thrift:*</include>
<include>io.netty:netty</include>
<include>com.google.guava:guava</include>
<include>org.apache.httpcomponents:http*</include>
<include>org.apache.zookeeper:zookeeper</include>
<include>org.apache.curator:*</include>
<include>com.twitter:carbonite</include>
<include>com.twitter:chill-java</include>
<include>org.tukaani:xz</include>
<include>org.yaml:snakeyaml</include>
<include>org.jgrapht:jgrapht-core</include>
<include>org.apache.commons:commons-exec</include>
<include>org.apache.commons:commons-compress</include>
<include>commons-collections:commons-collections</include>
<include>org.apache.hadoop:hadoop-auth</include>
<include>commons-io:commons-io</include>
<include>commons-codec:commons-codec</include>
<include>commons-fileupload:commons-fileupload</include>
<include>commons-lang:commons-lang</include>
<include>com.googlecode.json-simple:json-simple</include>
<include>org.clojure:math.numeric-tower</include>
<include>org.clojure:tools.cli</include>
<include>org.clojure:tools.logging</include>
<include>org.clojure:tools.macro</include>
<include>org.clojure:java.jmx</include>
<include>joda-time:joda-time</include>
<include>org.eclipse.jetty:*</include>
<include>com.fasterxml.jackson.core:*</include>
<include>com.fasterxml.jackson.dataformat:*</include>
<include>clout:clout</include>
<include>org.clojure:tools.namespace</include>
<include>cheshire:cheshire</include>
<include>org.clojure:core.incubator</include>
<include>metrics-clojure:*</include>
</includes>
</artifactSet>
<relocations>
<relocation>
<pattern>cheshire</pattern>
<shadedPattern>org.apache.storm.shade.cheshire</shadedPattern>
</relocation>
<relocation>
<pattern>clojure.tools.logging</pattern>
<shadedPattern>org.apache.storm.shade.clojure.tools.logging</shadedPattern>
</relocation>
<relocation>
<pattern>clojure.core.incubator</pattern>
<shadedPattern>org.apache.storm.shade.clojure.core.incubator</shadedPattern>
</relocation>
<relocation>
<pattern>clojure.tools.namespace</pattern>
<shadedPattern>org.apache.storm.shade.clojure.tools.namespace</shadedPattern>
</relocation>
<relocation>
<pattern>clout</pattern>
<shadedPattern>org.apache.storm.shade.clout</shadedPattern>
</relocation>
<relocation>
<pattern>compojure</pattern>
<shadedPattern>org.apache.storm.shade.compojure</shadedPattern>
</relocation>
<relocation>
<pattern>ns_tracker</pattern>
<shadedPattern>org.apache.storm.shade.ns_tracker</shadedPattern>
</relocation>
<relocation>
<pattern>ns-tracker</pattern>
<shadedPattern>org.apache.storm.shade.ns-tracker</shadedPattern>
</relocation>
<relocation>
<pattern>hiccup</pattern>
<shadedPattern>org.apache.storm.shade.hiccup</shadedPattern>
</relocation>
<relocation>
<pattern>ring</pattern>
<shadedPattern>org.apache.storm.shade.ring</shadedPattern>
</relocation>
<relocation>
<pattern>clj_time</pattern>
<shadedPattern>org.apache.storm.shade.clj_time</shadedPattern>
</relocation>
<relocation>
<pattern>clj-time</pattern>
<shadedPattern>org.apache.storm.shade.clj-time</shadedPattern>
</relocation>
<relocation>
<pattern>com.fasterxml</pattern>
<shadedPattern>org.apache.storm.shade.com.fasterxml</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.thrift</pattern>
<!-- This pattern is inconsistent for backwards compatibility purposes. -->
<shadedPattern>org.apache.storm.thrift</shadedPattern>
</relocation>
<relocation>
<pattern>org.jboss.netty</pattern>
<shadedPattern>org.apache.storm.shade.org.jboss.netty</shadedPattern>
</relocation>
<relocation>
<pattern>com.google.common</pattern>
<shadedPattern>org.apache.storm.shade.com.google.common</shadedPattern>
</relocation>
<relocation>
<pattern>com.google.thirdparty</pattern>
<shadedPattern>org.apache.storm.shade.com.google.thirdparty</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.http</pattern>
<shadedPattern>org.apache.storm.shade.org.apache.http</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.curator</pattern>
<shadedPattern>org.apache.storm.shade.org.apache.curator</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.zookeeper</pattern>
<shadedPattern>org.apache.storm.shade.org.apache.zookeeper</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.jute</pattern>
<shadedPattern>org.apache.storm.shade.org.apache.jute</shadedPattern>
</relocation>
<relocation>
<pattern>carbonite</pattern>
<shadedPattern>org.apache.storm.shade.carbonite</shadedPattern>
</relocation>
<relocation>
<pattern>com.twitter.chill</pattern>
<shadedPattern>org.apache.storm.shade.com.twitter.chill</shadedPattern>
</relocation>
<relocation>
<pattern>org.tukaani.xz</pattern>
<shadedPattern>org.apache.storm.shade.org.tukaani.xz</shadedPattern>
</relocation>
<relocation>
<pattern>org.yaml.snakeyaml</pattern>
<shadedPattern>org.apache.storm.shade.org.yaml.snakeyaml</shadedPattern>
</relocation>
<relocation>
<pattern>org.jgrapht</pattern>
<shadedPattern>org.apache.storm.shade.org.jgrapht</shadedPattern>
</relocation>
<relocation>
<pattern>org.fusesource</pattern>
<shadedPattern>org.apache.storm.shade.org.fusesource</shadedPattern>
</relocation>
<relocation>
<pattern>com.metamx.http.client</pattern>
<shadedPattern>org.apache.storm.shade.com.metamx.http.client</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.commons.io</pattern>
<shadedPattern>org.apache.storm.shade.org.apache.commons.io</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.commons.compress</pattern>
<shadedPattern>org.apache.storm.shade.org.apache.commons.compress</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.commons.codec</pattern>
<shadedPattern>org.apache.storm.shade.org.apache.commons.codec</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.commons.fileupload</pattern>
<shadedPattern>org.apache.storm.shade.org.apache.commons.fileupload</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.commons.exec</pattern>
<shadedPattern>org.apache.storm.shade.org.apache.commons.exec</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.commons.lang</pattern>
<shadedPattern>org.apache.storm.shade.org.apache.commons.lang</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.commons.collections</pattern>
<shadedPattern>org.apache.storm.shade.org.apache.commons.collections</shadedPattern>
</relocation>
<relocation>
<pattern>org.json.simple</pattern>
<shadedPattern>org.apache.storm.shade.org.json.simple</shadedPattern>
</relocation>
<relocation>
<pattern>clojure.math</pattern>
<shadedPattern>org.apache.storm.shade.clojure.math</shadedPattern>
</relocation>
<relocation>
<pattern>clojure.tools.cli</pattern>
<shadedPattern>org.apache.storm.shade.clojure.tools.cli</shadedPattern>
</relocation>
<relocation>
<pattern>cljs.tools.cli</pattern>
<shadedPattern>org.apache.storm.shade.cljs.tools.cli</shadedPattern>
</relocation>
<relocation>
<pattern>clojure.tools.macro</pattern>
<shadedPattern>org.apache.storm.shade.clojure.tools.macro</shadedPattern>
</relocation>
<relocation>
<pattern>org.joda.time</pattern>
<shadedPattern>org.apache.storm.shade.org.joda.time</shadedPattern>
</relocation>
<relocation>
<pattern>org.eclipse.jetty</pattern>
<shadedPattern>org.apache.storm.shade.org.eclipse.jetty</shadedPattern>
</relocation>
<relocation>
<pattern>metrics.core</pattern>
<shadedPattern>org.apache.storm.shade.metrics.core</shadedPattern>
</relocation>
<relocation>
<pattern>metrics.counters</pattern>
<shadedPattern>org.apache.storm.shade.metrics.counters</shadedPattern>
</relocation>
<relocation>
<pattern>metrics.gauges</pattern>
<shadedPattern>org.apache.storm.shade.metrics.gauges</shadedPattern>
</relocation>
<relocation>
<pattern>metrics.histograms</pattern>
<shadedPattern>org.apache.storm.shade.metrics.histograms</shadedPattern>
</relocation>
<relocation>
<pattern>metrics.meters</pattern>
<shadedPattern>org.apache.storm.shade.metrics.meters</shadedPattern>
</relocation>
<relocation>
<pattern>metrics.reporters</pattern>
<shadedPattern>org.apache.storm.shade.metrics.reporters</shadedPattern>
</relocation>
<relocation>
<pattern>metrics.timers</pattern>
<shadedPattern>org.apache.storm.shade.metrics.timers</shadedPattern>
</relocation>
<relocation>
<pattern>metrics.utils</pattern>
<shadedPattern>org.apache.storm.shade.metrics.utils</shadedPattern>
</relocation>
</relocations>
<transformers>
<transformer implementation="org.apache.storm.maven.shade.clojure.ClojureTransformer" />
</transformers>
<filters>
<!-- Several of these filters remove the .clj files from the shaded dependencies, even though only .clj files are in these jars.
The reason for this is a bit complex, but intentional. During the build process all of the dependency .clj files are
compiled down into .class files, and included in storm-core.jar. The regular shade transformer handles these in
the majority of cases correctly. However, the Clojure-Transformer does not shade everything correctly all the
time. Instead of spending a lot of time to get the Clojure-Transformer to parse Clojure correctly we opted to remove
the .clj files from the uber jar. -->
<filter><artifact>metrics-clojure:*</artifact><excludes><exclude>**/*.clj</exclude></excludes></filter>
<filter><artifact>org.clojure:core.incubator</artifact><excludes><exclude>**/*.clj</exclude></excludes></filter>
<filter><artifact>cheshire:cheshire</artifact><excludes><exclude>**/*.clj</exclude></excludes></filter>
<filter><artifact>org.clojure:tools.logging</artifact><excludes><exclude>**/*.clj</exclude></excludes></filter>
<filter><artifact>org.clojure:tools.namespace</artifact><excludes><exclude>**/*.clj</exclude></excludes></filter>
<filter><artifact>org.clojure:math.numeric-tower</artifact><excludes><exclude>**/*.clj</exclude></excludes></filter>
<filter><artifact>org.clojure:tools.macro</artifact><excludes><exclude>**/*.clj</exclude></excludes></filter>
<filter><artifact>org.clojure:tools.cli</artifact><excludes><exclude>**/*.clj</exclude></excludes></filter>
<filter><artifact>ns-tracker:ns-tracker</artifact><excludes><exclude>**/*.clj</exclude></excludes></filter>
<filter><artifact>clout:clout</artifact><excludes><exclude>**/*.clj</exclude></excludes></filter>
<filter><artifact>hiccup:hiccup</artifact><excludes><exclude>**/*.clj</exclude></excludes></filter>
<filter><artifact>clj-time:clj-time</artifact><excludes><exclude>**/*.clj</exclude></excludes></filter>
<filter><artifact>ring:*</artifact><excludes><exclude>**/*.clj</exclude></excludes></filter>
<filter><artifact>compojure:compojure</artifact><excludes><exclude>**/*.clj</exclude></excludes></filter>
<filter>
<artifact>org.apache.thrift:*</artifact>
<excludes>
<exclude>META-INF/LICENSE.txt</exclude>
<exclude>META-INF/NOTICE.txt</exclude>
</excludes>
</filter>
<filter>
<artifact>io.netty:netty</artifact>
<excludes>
<exclude>META-INF/LICENSE.txt</exclude>
<exclude>META-INF/NOTICE.txt</exclude>
</excludes>
</filter>
<filter>
<artifact>org.apache.zookeeper:zookeeper</artifact>
<excludes>
<exclude>LICENSE.txt</exclude>
</excludes>
</filter>
<filter>
<artifact>org.apache.commons:commons-exec</artifact>
<excludes>
<exclude>META-INF/LICENSE.txt</exclude>
<exclude>META-INF/NOTICE.txt</exclude>
</excludes>
</filter>
<filter>
<artifact>commons-collections:commons-collections</artifact>
<excludes>
<exclude>META-INF/LICENSE.txt</exclude>
<exclude>META-INF/NOTICE.txt</exclude>
</excludes>
</filter>
<filter>
<artifact>commons-io:commons-io</artifact>
<excludes>
<exclude>META-INF/LICENSE.txt</exclude>
<exclude>META-INF/NOTICE.txt</exclude>
</excludes>
</filter>
<filter>
<artifact>commons-codec:commons-codec</artifact>
<excludes>
<exclude>META-INF/LICENSE.txt</exclude>
<exclude>META-INF/NOTICE.txt</exclude>
</excludes>
</filter>
<filter>
<artifact>commons-fileupload:commons-fileupload</artifact>
<excludes>
<exclude>META-INF/LICENSE.txt</exclude>
<exclude>META-INF/NOTICE.txt</exclude>
</excludes>
</filter>
<filter>
<artifact>commons-lang:commons-lang</artifact>
<excludes>
<exclude>META-INF/LICENSE.txt</exclude>
<exclude>META-INF/NOTICE.txt</exclude>
</excludes>
</filter>
<filter>
<artifact>joda-time:joda-time</artifact>
<excludes>
<exclude>META-INF/LICENSE.txt</exclude>
<exclude>META-INF/NOTICE.txt</exclude>
</excludes>
</filter>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.sf</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.dsa</exclude>
<exclude>META-INF/*.RSA</exclude>
<exclude>META-INF/*.rsa</exclude>
<exclude>META-INF/*.EC</exclude>
<exclude>META-INF/*.ec</exclude>
<exclude>META-INF/MSFTSIG.SF</exclude>
<exclude>META-INF/MSFTSIG.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>maven-shade-clojure-transformer</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</plugin>
storm maven-shade-plugin的更多相关文章
- [Apache Maven Shade Plugin] [example] [001] 官方例子:includes-excludes
链接地址:[Selecting Contents for Uber JAR](http://maven.apache.org/plugins/maven-shade-plugin/examples/i ...
- 施用 maven shade plugin 解决 jar 或类的多版本冲突
施用 maven shade plugin 解决 jar 或类的多版本冲突 使用 maven shade plugin 解决 jar 或类的多版本冲突java 应用经常会碰到的依赖的三方库出现版本 ...
- maven shade插件小记
maven shade plugin插件小用 项目中一直使用assembly插件来整合依赖包到一个胖jar,在做这个akka http项目的时候,在scala ide的run/debug中都执行正常, ...
- 学习Maven之Maven Enforcer Plugin
1.Maven Enforcer plugin是什么鬼? 在说这个插件是什么前我们先思考这么一个问题:当我们开发人员进入项目组进行开发前,要准备开发环境,而领导总是会强调工具的统一,编译环境的统一.比 ...
- [Maven] - Eclipse "maven compiler plugin" 冲突解决
刚安装最新的Maven 3.2.5,在eclipse中使用maven的Run As->Maven Install,总会提示: Failed to execute goal org.apache. ...
- maven jetty plugin
转载:http://blog.163.com/xueling1231989@126/blog/static/1026408072013101311395492/ 前言: 在 maven 下测试调试时, ...
- 解决Maven出现Plugin execution not covered by lifecycle configuration 错误
http://blog.163.com/xh_ding/blog/static/1939032892015222368827/ 解决Maven出现Plugin execution not covere ...
- Jenkins安装maven integration plugin失败解决方法
最近装了一个jenkins准备搞一个自动化测试的持续集成,但是在安装maven integration这个插件时报错,试了几次都是失败! 错误原因如下: javadoc安装失败: java.io.IO ...
- 记录一次maven打包时将test目录下的类打包到jar中,Maven Assembly Plugin的使用
今天有人问我打包后找不到主类,运行的类写在test中.按照常规,test目录下的文件不会打包到jar包中.(但是我测试一个springboot工程就可以,这里之后再研究) 具体解决如下 第一步:在po ...
- 学习Maven之Maven Clean Plugin
1.maven-clean-plugin是个什么鬼? maven-clean-plugin这个插件用maven的人都不陌生.我们在执行命令mvn clean时调用的就是这个插件. 这个插件的主要作用就 ...
随机推荐
- SpringBoot_Exception_02_Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.6.RELEASE:run
一.现象 上一个异常解决之后,出现了这个异常: [WARNING] The requested profile "pom.xml" could not be activated b ...
- 前端多媒体(2)—— xhr异步接收处理二进制数据
有时我们需要把远程的视频.图片数据异步下载下来,然后在js里进行特殊处理.比如把VR的图片特殊处理,把不同封装格式的视频做一次 转封装 处理等等,这类操作都要先获取二进制数据,然后特殊处理. 这个时候 ...
- bzoj2673
限制这么多 肯定是网络流 考虑连边 首先我们计算出每行最多放的棋子数$sx[i]$,每列最多放的棋子数$sy[i]$ 首先由源点向第$i$行连流量为$sx[i]$费用为$0$的边,第$i$列向汇点连流 ...
- BZOJ 1567: [JSOI2008]Blue Mary的战役地图
1567: [JSOI2008]Blue Mary的战役地图 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1011 Solved: 578[Sub ...
- TTY,Console以及Terminal
TTY可以理解是一种终端显示.可以在/dev文件夹看到多个tty开头的文件,可以通过alt+Fn(n=1~6)来进行切换.这个是不是和GUI场景下的多个Terminal窗口是一致的呢? 伪TTY是指一 ...
- BZOJ3524:[POI2014]Couriers
浅谈主席树:https://www.cnblogs.com/AKMer/p/9956734.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem.p ...
- poj1734Sightseeing trip——无向图求最小环
题目:http://poj.org/problem?id=1734 无向图求最小环,用floyd: 在每个k点更新f[i][j]之前,以k点作为直接连到i,j组成一个环的点,这样找一下最小环: 注意必 ...
- 一次LVS+MySQL的主主负载均衡实战
这是去年做的一个项目的记录,如果大家有更好的解决方案,欢迎指出. 先说说项目需求,用户需要在两个地市部署两套应用系统和两套数据库,在一个地市主用,在另一个热备:数据要互备:而且如果主用地市流量很大,可 ...
- WaitHandle.WaitAll 方法在WPF工程中的应用
因为WaiAll需要多线程支持, 而WPF是STA模式, 可以通过以下方式实现WaitAll ManualResetEvent[] events: foreach (ManualResetEvent ...
- webAPP meta 标签大全
1.先说说mate标签里的viewport: viewport即可视区域,对于桌面浏览器而言,viewport指的就是除去所有工具栏.状态栏.滚动条等等之后用于看网页的区域.对于传统WEB页面来说,9 ...