slackapi / slackapi/java-slack-sdk
slack-api-client 1.x is not compatible with tyrus-standalone-client 2.x
オープン
まだ誰も着手していません。
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.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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