最近在做日志实时分析,用的Storm做.topology代码已经写好,用的maven项目.
用了"mvn assembly:assembly"命令,包括所依赖的jar包一起打包.
但将jar包提交到服务器上部署时报错:
java.io.IOException: Found multiple defaults.yaml resources. You're probably bundling the Storm jars with your topology jar. [jar:file:/usr/local/jstorm-1.1.2/jstorm-core-1.1.2.jar!/defaults.yaml,jar:file:/usr/local/jstorm-1.1.2/wait_deploy/test-jstorm-bolt.jar!/defaults.yaml
究其原因是maven项目中有:
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-core</artifactId>
<version>1.1.2</version>
</dependency>
与服务器中的storm-core包中的defaults.yaml文件冲突
查看网上解决方案,又说在<dependency>中加<scope>provided</scope>,但楼主加上之后打出来的jar包里面依然带defaults.yaml.
然后去Stack OverFlow上找到解决方案(原帖地址: