slackapi / slackapi/java-slack-sdk

slack-api-client 1.x is not compatible with tyrus-standalone-client 2.x

オープン
#720 コメント 1 件 リアクション 2 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

dependencies enhancement project:slack-api-client
主要言語
Java
スター
602
フォーク
232
平均マージ
4日 9時間
マージ済み PR(30日)
7

説明

When I use in my project:

tyrus-standalone-client  2.0.0
slack-api-client 1.7.0

i receive:


***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    com.slack.api.socket_mode.impl.SocketModeClientTyrusImpl.connect(SocketModeClientTyrusImpl.java:170)

The following method did not exist:

    'javax.websocket.Session org.glassfish.tyrus.client.ClientManager.connectToServer(java.lang.Object, java.net.URI)'

The method's class, org.glassfish.tyrus.client.ClientManager, is available from the following locations:

    jar:file:/home/tomaszlos/.gradle/caches/modules-2/files-2.1/org.glassfish.tyrus.bundles/tyrus-standalone-client/2.0.0/87902cd5c919b93cffa063fb0212366165aa74ed/tyrus-standalone-client-2.0.0.jar!/org/glassfish/tyrus/client/ClientManager.class

The class hierarchy was loaded from the following locations:

    org.glassfish.tyrus.client.ClientManager: file:/home/tomaszlos/.gradle/caches/modules-2/files-2.1/org.glassfish.tyrus.bundles/tyrus-standalone-client/2.0.0/87902cd5c919b93cffa063fb0212366165aa74ed/tyrus-standalone-client-2.0.0.jar
    org.glassfish.tyrus.core.BaseContainer: file:/home/tomaszlos/.gradle/caches/modules-2/files-2.1/org.glassfish.tyrus.bundles/tyrus-standalone-client/2.0.0/87902cd5c919b93cffa063fb0212366165aa74ed/tyrus-standalone-client-2.0.0.jar
    org.glassfish.tyrus.core.ExecutorServiceProvider: file:/home/tomaszlos/.gradle/caches/modules-2/files-2.1/org.glassfish.tyrus.bundles/tyrus-standalone-client/2.0.0/87902cd5c919b93cffa063fb0212366165aa74ed/tyrus-standalone-client-2.0.0.jar


Action:

Correct the classpath of your application so that it contains a single, compatible version of org.glassfish.tyrus.client.ClientManager

But When I change tyrus-standalone-client to 1.17 all works fine.

Java Runtime version

openjdk version "11.0.10" 2021-01-19

OS info

20.04.1-Ubuntu

Expected result:

the slack API lib should handle newer versions of tyrus-standalone-client.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

slack-api-client 1.7.0 と tyrus-standalone-client 2.0.0 で障害を再現し、その後、170 行目付近の SocketModeClientTyrusImpl.java と依存関係の宣言を調査します。動作する Tyrus 1.17 の構成と新しいバージョンを比較します。新しいクライアントで Socket Mode が正常に起動し、サポート対象の構成を壊さないことをもって完了とします。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
api, backend
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。