storm IDEA maven 打相关依赖jar包---用于提交拓扑

时间:2022-01-16 20:13:20

前言

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、
storm IDEA maven 打相关依赖jar包---用于提交拓扑

2、
storm IDEA maven 打相关依赖jar包---用于提交拓扑

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