Maven 在storm hbase集成期间,需要在类路径上设置哪些JAR

Maven 在storm hbase集成期间,需要在类路径上设置哪些JAR,maven,jar,classpath,hbase,apache-storm,Maven,Jar,Classpath,Hbase,Apache Storm,我正在尝试整合storm和hbase,我的程序被提交到storm topology,没有任何错误或异常,但当我检查日志时,我得到了java.lang.RuntimeException:java.lang.ClassNotFoundException:org.apache.storm.hbase.bolt.HBaseBolt,并且我已经将storm-hbase-0.9.3.jar添加到classpath,即storm lib文件夹,在运行时仍然会收到异常- java.lang.RuntimeExc

我正在尝试整合storm和hbase,我的程序被提交到storm topology,没有任何错误或异常,但当我检查日志时,我得到了java.lang.RuntimeException:java.lang.ClassNotFoundException:org.apache.storm.hbase.bolt.HBaseBolt,并且我已经将storm-hbase-0.9.3.jar添加到classpath,即storm lib文件夹,在运行时仍然会收到异常-

java.lang.RuntimeException:java.lang.ClassNotFoundException: org.apache.storm.hbase.bolt.HBaseBolt位于 backtype.storm.serialization.DefaultSerializationDelegate.DeserializationDefaultSerializationDelegate.java:58 ~[storm-core-0.9.3.震击器:0.9.3]at backtype.storm.utils.utils.deserializeUtils.java:89 ~[storm-core-0.9.3.震击器:0.9.3]at backtype.storm.utils.utils.getSetComponentObjectUtils.java:228 ~[storm-core-0.9.3.震击器:0.9.3]at backtype.storm.daemon.task$get\u task\u object.invoketask.clj:73 ~[storm-core-0.9.3.震击器:0.9.3]at backtype.storm.daemon.task$mk_task_data$fn_u3131.invoketask.clj:180 ~[storm-core-0.9.3.震击器:0.9.3]at backtype.storm.util$assoc\u apply\u self.invokeutil.clj:850 ~[storm-core-0.9.3.震击器:0.9.3]at backtype.storm.daemon.task$mk_task_data.invoketask.clj:173 ~[storm-core-0.9.3.震击器:0.9.3]at backtype.storm.daemon.task$mk_task.invoketask.clj:184 ~[storm-core-0.9.3.震击器:0.9.3]at backtype.storm.daemon.executor$mk_executor$fn_uu3310.invokeexecutor.clj:323 ~[storm-core-0.9.3.震击器:0.9.3]at clojure.core$map$fn__4207.invokecore.clj:2485 ~[clojure-1.5.1.jar:na]位于clojure.lang.LazySeq.svalLazySeq.java:42 ~[clojure-1.5.1.jar:na]位于clojure.lang.LazySeq.seqLazySeq.java:60 ~[clojure-1.5.1.jar:na]位于clojure.lang.RT.seqRT.java:484 ~[clojure-1.5.1.jar:na]位于clojure.core$seq.invokecore.clj:133 ~[clojure-1.5.1.jar:na]at clojure.core.protocols$seq_reduce.invokeprotocols.clj:30 ~[clojure-1.5.1.jar:na]at clojure.core.protocols$fn__6026.invokeprotocols.clj:54 ~[clojure-1.5.1.jar:na]at clojure.core.protocols$fn_5979$G__5974__5992.invokeprotocols.clj:13 ~[clojure-1.5.1.jar:na]位于clojure.core$reduce.invokecore.clj:6177 ~[clojure-1.5.1.jar:na]在clojure.core$into.invokecore.clj:6229 ~[clojure-1.5.1.jar:na]at backtype.storm.daemon.executor$mk_executor.invokeexecutor.clj:323 ~[storm-core-0.9.3.震击器:0.9.3]at backtype.storm.daemon.worker$fn___3743$exec_fn__1108_______3744$iter__3749__3753$fn__3754.invokeworker.clj:382 ~[storm-core-0.9.3.震击器:0.9.3]at java:42~[clojure-1.5.1.jar:na]at clojure.lang.LazySeq.seqLazySeq.java:60~[clojure-1.5.1.jar:na]at java:484~[clojure-1.5.1.jar:na]at clojure.core$seq.invokecore.clj:133~[clojure-1.5.1.jar:na]at clojure.core$dorun.invokecore.clj:2780~[clojure-1.5.1.jar:na]at clojure.core$doall.invokecore.clj:2796~[clojure-1.5.1.jar:na]at backtype.storm.daemon.worker$fn\uuuu3743$exec\ufn\uuuuu1108\uuuuuuuuuuuuuuuu3744.invokeworker.clj:382 ~[storm-core-0.9.3.震击器:0.9.3]at clojure.lang.AFn.applytoheloperafn.java:185[clojure-1.5.1.jar:na] java:151[clojure-1.5.1.jar:na] clojure.core$apply.invokecore.clj:617~[clojure-1.5.1.jar:na]at backtype.storm.daemon.worker$fn\uuu3743$mk\uworker\uu3799.doInvokeworker.clj:354 [storm-core-0.9.3.jar:0.9.3]at java:512[clojure-1.5.1.jar:na] backtype.storm.daemon.worker$\u main.invokeworker.clj:461 [storm-core-0.9.3.jar:0.9.3]at clojure.lang.AFn.applytoheloperafn.java:172[clojure-1.5.1.jar:na] java:151[clojure-1.5.1.jar:na] backtype.storm.daemon.worker.main未知源 [storm-core-0.9.3.jar:0.9.3]由以下原因引起: java.lang.ClassNotFoundException: org.apache.storm.hbase.bolt.HBaseBolt位于 java.net.URLClassLoader$1.runURLClassLoader.java:366~[na:1.7.0_72] 在java.net.URLClassLoader$1.runURLClassLoader.java:355 ~[na:1.7.0_72]位于java.security.AccessController.doPrivilegedNative 方法~[na:1.7.072]at java.net.URLClassLoader.findClassURLClassLoader.java:354 ~(na:1.7.0_72)at java.lang.ClassLoader.LoadClassLoader.java:425~[na:1.7.072] 位于sun.misc.Launcher$AppClassLoader.loadClassLauncher.java:308 ~(na:1.7.0_72)at java.lang.ClassLoader.LoadClassLoader.java:358~[na:1.7.072] 在java.lang.Class.forName0Native方法中~[na:1.7.0_72] java:274~[na:1.7.0_72]at java.io.ObjectInputStream.resolveClassObjectInputStream.java:625 ~(na:1.7.0_72)at java.io.ObjectInputStream.ReadNonProxydesObjectInputStream.java:1612 ~(na:1.7.0_72)at java.io.ObjectInputStream.readClassDescObjectInputStream.java:1517 ~(na:1.7.0_72)at java.io.ObjectInputStream.ReadOrderinaryObjectInputStream.java:1771 ~(na:1.7.0_72)at java.io.ObjectInputStream。 readObject0ObjectInputStream.java:1350 ~(na:1.7.0_72)at java.io.ObjectInputStream.readObjectObjectInputStream.java:370 ~(na:1.7.0_72)at backtype.storm.serialization.DefaultSerializationDelegate.DeserializationDefaultSerializationDelegate.java:52 ~[storm-core-0.9.3.jar:0.9.3]。。。省略了36个公共框架 2015-04-01T18:20:13.559+0530 b.s.util[错误]停止进程:错误 初始化时java.lang.RuntimeException:发生错误 初始化时间 backtype.storm.util$exit\u process\u BANG\uu.doInvokeutil.clj:325 [storm-core-0.9.3.jar:0.9.3]at java:423[clojure-1.5.1.jar:na] backtype.storm.daemon.worker$fn\uuu3743$mk\uworker\uu3799.doInvokeworker.clj:354 [storm-core-0.9.3.jar:0.9.3]at java:512[clojure-1.5.1.jar:na] backtype.storm.daemon.worker$\u main.invokeworker.clj:461 [storm-core-0.9.3.jar:0.9.3]at clojure.lang.AFn.applytoheloperafn.java:172[clojure-1.5.1.jar:na] java:151[clojure-1.5.1.jar:na] backtype.storm.daemon.worker.main未知源 [storm-core-0.9.3.jar:0.9.3]


有人能告诉我如何解决这个问题吗,我在类路径中缺少任何jar吗?

最后使用插件在lib文件夹中添加了pom.xml的所有jar-

<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>/usr/local/storm/lib</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

        </plugins>

一切正常。

将此添加到pom com.github.ptgoetz storm hbase 0.1.3-Snapshot中pom Missing artifact com.github.ptgoetz:storm hbase:jar:0.1.3-Snapshot中,并且已经添加了com.github.ptgoetz storm hbase 0.1.2