Java.lang.ClassNotFoundException:找不到类io.reactivex.functions.Action - java

我正在使用rxjava版本v-2.2.6和naiksoftware / stompprotocolandroid v-1.6.4

我不断收到这个错误

java.lang.ClassNotFoundException: Class io.reactivex.functions.Action not found   

任何时候我添加此库实现

'com.github.NaikSoftware:StompProtocolAndroid:1.5.2'到我的build.gradle文件,为什么?

public void connectStomp(View view) {

    List<StompHeader> headers = new ArrayList<>();
    headers.add(new StompHeader(LOGIN, "guest"));
    headers.add(new StompHeader(PASSCODE, "guest"));

    //mStompClient.withClientHeartbeat(10000).withServerHeartbeat(10000);

    resetSubscriptions();

    Disposable dispLifecycle = mStompClient.lifecycle()
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(lifecycleEvent -> {
    switch (lifecycleEvent.getType()) {
    case OPENED:
    Log.e(TAG, "Stomp connection opened");
    //toast("Stomp connection opened");
    break;
    case ERROR:
    Log.e(TAG, "Stomp connection error", lifecycleEvent.getException());
    //toast("Stomp connection error");
    mStompClient.reconnect();
    break;
    case CLOSED:
    Log.e(TAG, "Stomp connection closed");
    mStompClient.disconnect();
    resetSubscriptions();
    //toast("Stomp connection closed");
    // mStompClient.connect();
    break;
    case FAILED_SERVER_HEARTBEAT:
    Log.e(TAG, "Stomp connection opened");
    //toast("Stomp failed server heartbeat");
    break;
    }
    }, throwable -> {
    Log.e(TAG, "Error on subscribe topic", throwable);
    });

    compositeDisposable.add(dispLifecycle);

    // Receive greetings
    Disposable dispTopic = mStompClient.topic("/topic/greetings")
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(topicMessage -> {
    Log.d(TAG, "Received " + topicMessage.getPayload());
    //addItem(mGson.fromJson(topicMessage.getPayload(), EchoModel.class));
    }, throwable -> {
    Log.e(TAG, "Error on subscribe topic", throwable);
    });

    compositeDisposable.add(dispTopic);

    mStompClient.connect(headers);

}

参考方案

NaikSoftware / StompProtocolAndroid库未使用更新的代码,在将stomp客户端集成到android时遇到了类似的问题。

请参阅下面的存储库以获取解决方案,用自定义端口和服务器URL替换服务器URL和端口号。

回购-https://github.com/NaikSoftware/StompProtocolAndroid

让我知道是否可以解决您的问题。

运行程序时出现java.lang.NullPointerException - java

我有4节课。一个是抽象实体类,一个是球类,一个是主类,另一个是屏幕类。球类扩展了实体类,并具有5​​个变量。屏幕功能具有绘制方法:public void paint(Graphics g){ super.paint(g); ball.paint(g); } 当然,要使用ball.paint,需要为其创建一个对象。因此,我将球对象:Ball ball; 然后将…

java:继承 - java

有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…

常量dspace错误java.lang.OutOfMemoryError:Java堆空间 - java

我有一个DSpace服务器,从4.3版升级到5.1版后,它在几个小时后不断停止工作,并出现以下错误: java.lang.OutOfMemoryError:Java堆空间我已经阅读了相同问题的答案,但它们并没有帮助我。我的JAVA_OPTS:-Xmx4096M -Xms4096M -Dfile.encoding=UTF-8 -Dsun.jnu.encodin…

Java-如何将此字符串转换为日期? - java

我从服务器收到此消息,我不明白T和Z的含义,2012-08-24T09:59:59Z将此字符串转换为Date对象的正确SimpleDateFormat模式是什么? java大神给出的解决方案 这是ISO 8601标准。您可以使用SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM…

JAVA 8具有任何匹配属性的对象的过滤器列表 - java

我的要求是通过匹配任何属性的字符串来过滤对象列表。例如,假设Contact类具有三个属性:街道,城市,电话。我知道java流过滤器是如何工作的,在这里我必须将输入字符串与每个属性进行比较,如下所示:contactList.stream().filter(contact -> contact.getStreet().equals("dubai&…