Ich benutze Sturm mit Python. Ich habe diesen Befehl, um die Topologie lokalNoSuchMethodError: org.slf4j
mvn compile exec:java -Dexec.classpathScope=compile -Dexec.mainClass=my.Topology
und bekam diesen Fehler
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.apache.log4j.Category.differentiatedLog(Category.java:186)
at org.apache.log4j.Category.info(Category.java:229)
ich diesen Befehl ausführen mvn dependency:tree
die Versionen von slf4j
zu sehen, und hier ist der Teil des slf4j
Ich habe
org.apache.storm:storm-core:jar:0.9.6:provided
[INFO] +- org.clojure:clojure:jar:1.5.1:provided
[INFO] +- clj-time:clj-time:jar:0.4.1:provided
[INFO] +- joda-time:joda-time:jar:2.0:provided
[INFO] +- compojure:compojure:jar:1.1.3:provided
[INFO] +- org.clojure:core.incubator:jar:0.1.0:provided
[INFO] +- org.clojure:tools.macro:jar:0.1.0:provided
[INFO] +- clout:clout:jar:1.0.1:provided
[INFO] +- ring:ring-core:jar:1.1.5:provided
[INFO] +- commons-fileupload:commons-fileupload:jar:1.2.1:provided
[INFO] +- javax.servlet:servlet-api:jar:2.5:provided
[INFO] +- hiccup:hiccup:jar:0.3.6:provided
[INFO] +- ring:ring-devel:jar:0.3.11:provided
[INFO] +- clj-stacktrace:clj-stacktrace:jar:0.2.2:provided
[INFO] +- ring:ring-jetty-adapter:jar:0.3.11:provided
[INFO] +- ring:ring-servlet:jar:0.3.11:provided
[INFO] +- org.mortbay.jetty:jetty:jar:6.1.26:provided
[INFO] +- org.mortbay.jetty:jetty-util:jar:6.1.26:provided
[INFO] +- org.clojure:tools.logging:jar:0.2.3:provided
[INFO] +- org.clojure:math.numeric-tower:jar:0.0.1:provided
[INFO] +- org.clojure:tools.cli:jar:0.2.4:provided
[INFO] +- commons-io:commons-io:jar:2.4:provided
[INFO] +- org.apache.commons:commons-exec:jar:1.1:provided
[INFO] +- commons-lang:commons-lang:jar:2.5:provided
[INFO] +- com.googlecode.json-simple:json-simple:jar:1.1:provided
[INFO] +- com.twitter:carbonite:jar:1.4.0:provided
[INFO] +- com.esotericsoftware.kryo:kryo:jar:2.21:provided
[INFO] +-
com.esotericsoftware.reflectasm:reflectasm:jar:shaded:1.07:provided
[INFO] +- org.ow2.asm:asm:jar:4.0:provided
[INFO] +- com.esotericsoftware.minlog:minlog:jar:1.2:provided
[INFO] +- org.objenesis:objenesis:jar:1.2:provided
[INFO] +- com.twitter:chill-java:jar:0.3.5:provided
[INFO] +- org.yaml:snakeyaml:jar:1.11:provided
[INFO] +- commons-logging:commons-logging:jar:1.1.3:provided
[INFO] +- commons-codec:commons-codec:jar:1.6:provided
[INFO] +- com.googlecode.disruptor:disruptor:jar:2.10.4:provided
[INFO] +- org.jgrapht:jgrapht-core:jar:0.9.0:provided
[INFO] +- ch.qos.logback:logback-classic:jar:1.0.13:provided
[INFO] +- ch.qos.logback:logback-core:jar:1.0.13:provided
[INFO] +- org.slf4j:slf4j-api:jar:1.7.5:provided
[INFO] +- org.slf4j:log4j-over-slf4j:jar:1.6.6:provided
[INFO] \- jline:jline:jar:2.11:provided
Mein POM
danke für die antwort, aber meine pom enthält nichts über slf4j. also habe ich es nicht angegeben. Wie kann ich das überprüfen? – user5520049
Es wird transitiv im Sturm benötigt, Sie müssen sicherstellen, dass Ihre Laufzeitumgebung diese Bibliotheken im Klassenpfad hat. Wie ist die Abhängigkeit von Sturm definiert? –
Entschuldigung, meinst du, ich sollte den Bibliotheksordner im Sturm überprüfen? Als ich es überprüft und zwei Dateien für slf4j gefunden habe, habe ich es entfernt. aber ich fand diese Datei in m2/repository/org. Was soll ich danach machen? Ich poste meinen Pom in der Frage Post. Danke für Ihre Geduld – user5520049