Freemarker と、6.2 では使用していなかったクラスローダーに関する奇妙な問題に直面しています。基本的に、Oauth を使用するテンプレートの上部にマイナー ロジックがあります。これは正常に機能し、問題は見られません。Scribe のバリエーションを可能な限り配置し、ROOT 内にあるものを削除することさえ試みました。
奇妙なのは、例外がスローされる前にコードがいくつかのメソッドを正常に呼び出すことです。それはクラスローダーの問題ではなく、ラップ解除操作の問題であると思います。その機能に関して何か変更はありましたか?
コード:
${callbackParameters.add(TrueNTHOAuthConstants.REDIRECT, portalUtil.getCurrentCompleteURL(request))}
<#assign trueNTHConnectLoginURL = trueNTHConnect.getAuthorizationUrl(companyId,1, callbackParameters) /> (Exception at this line)
FreeMarker template error:
No compatible overloaded variation was found; can't convert (unwrap) the 3rd argument to the desired Java type.
The FTL type of the argument values were: number (wrapper: f.t.SimpleNumber), number (wrapper: f.t.SimpleNumber), extended_hash+string (org.scribe.model.ParameterList wrapped into f.e.b.StringModel).
**The matching overload was searched among these members**:
com.sun.proxy.$Proxy799.getAuthorizationUrl(long),
com.sun.proxy.$Proxy799.getAuthorizationUrl(long, int, org.scribe.model.ParameterList, org.scribe.model.ParameterList),
com.sun.proxy.$Proxy799.getAuthorizationUrl(long, int, org.scribe.model.ParameterList)
この時点に到達するには、いくつかの ClassNotFoundException またはクラス定義が見つからないことに対処する必要があったため、クラスローダーについて言及しました。これは、ライブラリのレプリケーションにより、何らかの形で予期されていた (予期しない動作) ものでした..