前言

storm 是通过jar包的形式发布到拓扑上去,将自己写好的项目打成jar,通过命令提交到storm集群上,记录下使用到的maven插件,可以将额外的相关jar包(例如elastic search的客户端jar包等…)与项目本身进行依赖,同时打进storm的拓扑jar包中。

环境

IDEA

首先本文使用的是IDEA,因为有图形化界面所以很好操作。

Maven

引入下面的依赖:

        <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <!--程序入口,jar的主函数-->
                        <manifest>
                            <mainClass>com.xxxx.storm.log.topology.TopologyMain</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!--去除单元测试类-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18.1</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
        </plugins>

引入好重新在IDEA中 reimport一下 pom.xml文件,否则不会生效。。

然后如下图操作即可:
1、
这里写图片描述

2、
这里写图片描述

可以看到,一个是不带外界依赖的jar包,还有一个是带依赖的jar包。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐