問題のエラー
GmailAPIでメール取得しようとした際に以下のエラーに出会いました。
Caused by: java.lang.NoSuchMethodError: com.google.api.client.http.HttpTransport.isMtls()Z
原因
Katalonが既存で持っている古いライブラリとのバッティングがあるため、組み込みライブラリのほうが優先されてしまって新しいライブラリを参照できず必要なメソッドにたどり着けないといったエラーが出ることが考えられます。
対策 組み込みライブラリを使用禁止にする
重複読み込みされているライブラリを確認する
読み込まれている.jarはプロジェクト内の直下にある[.classpath]を確認するとわかります。
以下のようにサクラエディタで開いたキャプチャを見るとgoogle-http-client-1.42.3.jar
があるのにgoogle-http-client_1.22.0.jar
もあることがわかりますね。
※同様にgoogle-oauth-client
も2つ読み込まれています
C:/Katalon_Studio_Windows_64-8.6.0/plugins/~
のパスはKatalonStudioの既存組み込みライブラリです。
gradleで追加したほうはC:/Users/user/Katalon Studio/sample20230420/Drivers/~
のようにプロジェクト内のDriversに入っています。
組み込みライブラリを使わない設定をする
では、既存組み込みのcom.google.http-client.google-http-client_1.22.0.jar
、com.google.oauth-client.google-oauth-client_1.22.0.jar
を使わないように設定しましょう。
[.classpath]を見ているエディタは閉じてKatalonStudioを開きます。
[Project]>[settings]>[Library Management]
[Exclude the following built-in libraries:]にて[Add]します。
com.google.http-client.google-http-client_1.22.0.jar
を入力しAdd
同様にcom.google.oauth-client.google-oauth-client_1.22.0.jar
もAddしてください。
設定画面を閉じます
これで[.classpath]に重複のライブラリ読み込みはなくなりました。
お疲れさまでした。
お疲れさまでした!!