Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在集群部署的Storm topology jar中包含与Maven的依赖关系?_Java_Docker_Maven_Jar_Apache Storm - Fatal编程技术网

Java 如何在集群部署的Storm topology jar中包含与Maven的依赖关系?

Java 如何在集群部署的Storm topology jar中包含与Maven的依赖关系?,java,docker,maven,jar,apache-storm,Java,Docker,Maven,Jar,Apache Storm,我正在尝试将Storm拓扑部署到本地独立群集。我将包括我的项目的链接,这样你就可以看到我的代码 我已经在本地模式下运行了一个,我必须将其连接到一个停靠的集群(基于) 但是,当我试图让它运行时,会出现以下错误: Exception in thread "main" java.lang.NoClassDefFoundError: backtype/storm/topology/IRichSpout 在构建topology.jar时,我似乎只需要将storm core作为依赖项

我正在尝试将Storm拓扑部署到本地独立群集。我将包括我的项目的链接,这样你就可以看到我的代码

我已经在本地模式下运行了一个,我必须将其连接到一个停靠的集群(基于)

但是,当我试图让它运行时,会出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: backtype/storm/topology/IRichSpout 
在构建
topology.jar
时,我似乎只需要将
storm core
作为依赖项包含在我的Maven项目中

所以我使用文件(我没有使用Eclipse或任何IDE,我只是从命令行运行Maven)来包含
storm core
作为依赖项,并包含
Maven汇编插件
,以将
jar打包为依赖项。但是现在,当我尝试运行集群时,我得到一个错误,它说:

...
java.io.IOException: Found multiple defaults.yaml resources. You're probably bundling the Storm jars with your topology jar
...
那么,作为捆绑依赖项,我应该包括什么呢?我需要在我的
pom.xml
中添加/删除哪些代码行才能使其工作?

您应该在pom.xml文件的storm依赖项中添加“提供的”范围。

我已经让它工作了


问题是Docker集群上的Storm依赖项被归档在
org.apache.Storm
下,而本地构建使用的是
backtype.Storm
。to
org.apache.storm
似乎已经成功了。

当我这样做时,我得到了NoClassDefFoundError。您可以看到
pom.xml
文件,似乎maven找不到源文件。能否将源目录标记添加到pom文件的构建部分@彼得雷斯科塔,我已经修好了,看看我的答案。哦,好的!好的:D