Caused by: java.io.IOException: Found multiple defaults.yaml resources. You're probably bundling the Storm jars with your topology jar. [jar:file:/usr/sea/apache-storm-1.1.2/lib/storm-core-1.1.2.jar!/defaults.yaml, jar:file:/usr/sea/apache-storm-1.1.2/wechat.jar!/defaults.yaml]
at org.apache.storm.utils.Utils.getConfigFileInputStream(Utils.java:409)
at org.apache.storm.utils.Utils.findAndReadConfigFile(Utils.java:362)
错误很明显,项目中的那个文件与部署的容器中的冲突了,干掉一个即可,
刚开始我干掉的是项目中的,奈何intellj idea太调皮没干掉(provided意思是打包的时候不包括,
只是在本地开发编译的时候包括)
<
dependency
>
<
groupId
>
org.apache.storm
</
groupId
>
<
artifactId
>
storm-core
</
artifactId
>
<
version
>
1.1.1
</
version
>
<
scope
>
provided
</
scope
>
所以我直接把容器中的干掉了:
mv lib/storm-core-1.1.2.jar lib/storm-core-1.1.2.jarbak
重新执行成功:
bin/storm jar wechat.jar CustomerDao1 wechat1
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/sea/apache-storm-1.1.2/wechat-wechat.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/sea/apache-storm-1.1.2/lib/log4j-slf4j-impl-2.8.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
SLF4J: Class path contains multiple SLF4J bindings.