FroMage / redpipe

Redpipe Web Framework
Apache License 2.0
70 stars 11 forks source link

java.lang.NoSuchMethodError: io.reactivex.Single.ignoreElement()Lio/reactivex/Completable; #45

Open kanedafromparis opened 6 years ago

kanedafromparis commented 6 years ago

On my first use of redpipe I encounter the following issue (on run). On macoxs

java version "1.8.0_141"
Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)

and

java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

SLF4J: No SLF4J providers were found. SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#noProviders for further details. SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions prior to 1.8. SLF4J: Ignoring binding found at [jar:file:$HOME/.m2/repository/org/slf4j/slf4j-jdk14/1.6.3/slf4j-jdk14-1.6.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#ignoredBindings for an explanation. WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by io.netty.util.internal.ReflectionUtil (file:/Users/csabourdin/.m2/repository/io/netty/netty-common/4.1.19.Final/netty-common-4.1.19.Final.jar) to constructor java.nio.DirectByteBuffer(long,int) WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.ReflectionUtil WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Aug 03, 2018 11:42:17 AM org.hibernate.validator.internal.util.Version INFO: HV000001: Hibernate Validator 5.4.1.Final Aug 03, 2018 11:42:17 AM org.jboss.resteasy.plugins.validation.AbstractValidatorContextResolver getValidatorFactory INFO: RESTEASY008550: Unable to find CDI supporting ValidatorFactory. Using default ValidatorFactory MLog initialization issue: slf4j found no binding or threatened to use its (dangerously silent) NOPLogger. We consider the slf4j library not found. Aug 03, 2018 11:42:18 AM com.mchange.v2.log.MLog INFO: MLog clients using java 1.4+ standard logging. Aug 03, 2018 11:42:18 AM com.mchange.v2.c3p0.C3P0Registry INFO: Initializing c3p0-0.9.5.2 [built 08-December-2015 22:06:04 -0800; debug? true; trace: 10] Exception in thread "main" java.lang.NoSuchMethodError: io.reactivex.Single.ignoreElement()Lio/reactivex/Completable; at net.redpipe.engine.core.Server.lambda$null$15(Server.java:248) at io.reactivex.internal.operators.completable.CompletableDefer.subscribeActual(CompletableDefer.java:36) at io.reactivex.Completable.subscribe(Completable.java:1794) at net.redpipe.engine.rxjava2.ContextPropagatorOnCompletableAssemblyAction$ContextPropagatorCompletable.subscribeActual(ContextPropagatorOnCompletableAssemblyAction.java:36) at io.reactivex.Completable.subscribe(Completable.java:1794) at io.reactivex.internal.operators.completable.CompletableConcatArray$ConcatInnerObserver.next(CompletableConcatArray.java:89) at io.reactivex.internal.operators.completable.CompletableConcatArray.subscribeActual(CompletableConcatArray.java:33) at io.reactivex.Completable.subscribe(Completable.java:1794) at net.redpipe.engine.rxjava2.ContextPropagatorOnCompletableAssemblyAction$ContextPropagatorCompletable.subscribeActual(ContextPropagatorOnCompletableAssemblyAction.java:36) at io.reactivex.Completable.subscribe(Completable.java:1794) at io.reactivex.internal.operators.completable.CompletableDefer.subscribeActual(CompletableDefer.java:43) at io.reactivex.Completable.subscribe(Completable.java:1794) at net.redpipe.engine.rxjava2.ContextPropagatorOnCompletableAssemblyAction$ContextPropagatorCompletable.subscribeActual(ContextPropagatorOnCompletableAssemblyAction.java:36) at io.reactivex.Completable.subscribe(Completable.java:1794) at io.reactivex.internal.operators.completable.CompletableConcatArray$ConcatInnerObserver.next(CompletableConcatArray.java:89) at io.reactivex.internal.operators.completable.CompletableConcatArray.subscribeActual(CompletableConcatArray.java:33) at io.reactivex.Completable.subscribe(Completable.java:1794) at net.redpipe.engine.rxjava2.ContextPropagatorOnCompletableAssemblyAction$ContextPropagatorCompletable.subscribeActual(ContextPropagatorOnCompletableAssemblyAction.java:36) at io.reactivex.Completable.subscribe(Completable.java:1794) at io.reactivex.internal.operators.completable.CompletableDefer.subscribeActual(CompletableDefer.java:43) at io.reactivex.Completable.subscribe(Completable.java:1794) at net.redpipe.engine.rxjava2.ContextPropagatorOnCompletableAssemblyAction$ContextPropagatorCompletable.subscribeActual(ContextPropagatorOnCompletableAssemblyAction.java:36) at io.reactivex.Completable.subscribe(Completable.java:1794) at io.reactivex.internal.operators.single.SingleFlatMapCompletable$FlatMapCompletableObserver.onSuccess(SingleFlatMapCompletable.java:91) at io.reactivex.internal.observers.ResumeSingleObserver.onSuccess(ResumeSingleObserver.java:46) at net.redpipe.engine.rxjava2.ContextPropagatorOnSingleCreateAction$ContextCapturerSingle.onSuccess(ContextPropagatorOnSingleCreateAction.java:61) at net.redpipe.engine.rxjava2.ContextPropagatorOnSingleCreateAction$ContextCapturerSingle.onSuccess(ContextPropagatorOnSingleCreateAction.java:61) at net.redpipe.engine.rxjava2.ContextPropagatorOnSingleCreateAction$ContextCapturerSingle.onSuccess(ContextPropagatorOnSingleCreateAction.java:61) at io.reactivex.internal.operators.single.SingleDoOnError$DoOnError.onSuccess(SingleDoOnError.java:52) at net.redpipe.engine.rxjava2.ContextPropagatorOnSingleCreateAction$ContextCapturerSingle.onSuccess(ContextPropagatorOnSingleCreateAction.java:61) at net.redpipe.engine.rxjava2.ContextPropagatorOnSingleCreateAction$ContextCapturerSingle.onSuccess(ContextPropagatorOnSingleCreateAction.java:61) at io.reactivex.internal.operators.completable.CompletableToSingle$ToSingle.onComplete(CompletableToSingle.java:68) at net.redpipe.engine.rxjava2.ContextPropagatorOnCompletableCreateAction$ContextCapturerCompletable.onComplete(ContextPropagatorOnCompletableCreateAction.java:62) at net.redpipe.engine.rxjava2.ContextPropagatorOnCompletableCreateAction$ContextCapturerCompletable.onComplete(ContextPropagatorOnCompletableCreateAction.java:62) at net.redpipe.engine.rxjava2.ContextPropagatorOnCompletableCreateAction$ContextCapturerCompletable.onComplete(ContextPropagatorOnCompletableCreateAction.java:62) at net.redpipe.engine.rxjava2.ContextPropagatorOnCompletableCreateAction$ContextCapturerCompletable.onComplete(ContextPropagatorOnCompletableCreateAction.java:62) at io.reactivex.internal.disposables.EmptyDisposable.complete(EmptyDisposable.java:68) at io.reactivex.internal.operators.completable.CompletableEmpty.subscribeActual(CompletableEmpty.java:27) at io.reactivex.Completable.subscribe(Completable.java:1794)

kanedafromparis commented 6 years ago

I was able to make it works by setting rxjava to 2.2.0 version. I am not sur that the best solution but it works on my machine ;-)

        <dependency>
            <groupId>io.reactivex.rxjava2</groupId>
            <artifactId>rxjava</artifactId>
            <version>2.2.0</version>
        </dependency>
FroMage commented 6 years ago

Yes, that issue is an unfortunate side-effect of vertx importing an older incompatible version of rxjava. What does your pom.xml look like? Did you import vertx manually at all?

kanedafromparis commented 6 years ago

Actually, on my first try, I had a transitive dependency to vertx 3.5.3, but when I remove this dependency ( my project was at hello world stage, so i could tray) I still had this issue.

Anyhow, I would probably import vertx manually (I prefer its json library.)

but does my workaround is correct ?

Le lun. 6 août 2018 à 14:00, Stéphane Épardaud notifications@github.com a écrit :

Yes, that issue is an unfortunate side-effect of vertx importing an older incompatible version of rxjava. What does your pom.xml look like? Did you import vertx manually at all?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/FroMage/redpipe/issues/45#issuecomment-410684472, or mute the thread https://github.com/notifications/unsubscribe-auth/ABWrtRPo89WbyfVh8d4kDWNlHT0cFj6hks5uOC_PgaJpZM4VwMRT .

FroMage commented 6 years ago

Yes, absolutely. In fact Redpipe imports that newer version of rxjava. But Maven picks up the older one via the import of vertx.

kanedafromparis commented 6 years ago

Great, thanks you.

And thank you for this project seems very, very promising.

Le lun. 6 août 2018 à 15:18, Stéphane Épardaud notifications@github.com a écrit :

Yes, absolutely. In fact Redpipe imports that newer version of rxjava. But Maven picks up the older one via the import of vertx.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/FroMage/redpipe/issues/45#issuecomment-410704893, or mute the thread https://github.com/notifications/unsubscribe-auth/ABWrtVenbFqKcN2_Ha4rnYqO4wKhTSbqks5uOEI4gaJpZM4VwMRT .