Мы пытаемся обновить Бури 0.10.0 1.0.2 и наш проект использует kafka-spoutБури втягивая несвежие зависимости
между версиями, backtype.storm
имен-пакетами были изменены org.apache.storm
имен-пакетами в грозовом сообществе ,
В рамках нашей реконструкции, мы должны были изменить версию также storm-kafka
«s до 1.0.2
Но когда я запускаю топологию на шторм, я получаю ошибку об отсутствии классов от старой версии:
apache-storm-1.0.2/bin/storm \
jar \
$jarFile \
org.apache.storm.flux.Flux \
$yamlFile \
--remote
+- Apache Storm -+
+- data FLow User eXperience -+
Version: 1.0.2
Parsing file: topology-config.yaml
333 [main] INFO o.a.s.f.p.FluxParser - loading YAML from input stream...
335 [main] INFO o.a.s.f.p.FluxParser - Not performing property substitution.
335 [main] INFO o.a.s.f.p.FluxParser - Not performing environment variable substitution.
Exception in thread "main" java.lang.NoClassDefFoundError: backtype/storm/spout/MultiScheme
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.storm.flux.FluxBuilder.buildObject(FluxBuilder.java:291)
at org.apache.storm.flux.FluxBuilder.buildComponents(FluxBuilder.java:350)
at org.apache.storm.flux.FluxBuilder.buildTopology(FluxBuilder.java:75)
at org.apache.storm.flux.Flux.runCli(Flux.java:153)
at org.apache.storm.flux.Flux.main(Flux.java:98)
Caused by: java.lang.ClassNotFoundException: backtype.storm.spout.MultiScheme
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
Я не уверен, откуда backtype.storm
проникает в мою кодовую базу.
Я посмотрел весь код базы (и mvn dependency:tree
) для 0.10.0
и backtype.storm
, но эти вещи из старой-версии не место можно найти.
Я даже исключил все версии storm-kafka
из своих дочерних зависимостей, а затем добавил явную зависимость от storm-kafka
, но это ничего не изменило.
Maven не кажется, что по вине, потому что я не вижу никаких 0.10*
версии в моем ~/.m2/repository
:
ls ~/.m2/repository/org/apache/storm/*
~/.m2/repository/org/apache/storm/flux:
1.0.2
~/.m2/repository/org/apache/storm/flux-core:
1.0.2
~/.m2/repository/org/apache/storm/storm:
1.0.2
~/.m2/repository/org/apache/storm/storm-kafka:
1.0.2
Очевидно шторм делает что-то здесь не так.
Я искал 'backtype.storm' во всем коде, а также явно в файле' topology-config.yaml'. В любом случае нет 'bactype.storm'. – user2250246