Migration Guide 5.7.0_ja - terasolunaorg/terasoluna-gfw GitHub Wiki

5.6.1から5.7.0への移行ガイド

.. only:: html

 .. contents:: 目次
    :depth: 2
    :local:

5.7.0での主な変更点

5.7.0での主な変更点は以下の通りです。

  • Spring Boot Dependenciesを2.4.1へ更新
  • Spring Frameworkを5.3.2へ更新
  • Spring Securityを5.4.2へ更新
  • Spring Security OAuthを2.5.0へ更新
  • MyBatisを3.5.6へ更新
  • 共通ライブラリの仕様を一部変更
  • ブランクプロジェクトの変更

Spring Boot Dependenciesを2.4.1へ更新

Spring Boot Dependencies 2.4.1へ更新しました。

Spring Frameworkを5.3.2へ更新

Spring Framework 5.3.2へ更新しました。

Spring Securityを5.4.2へ更新

Spring Security 5.4.2へ更新しました。

Spring Security OAuthを2.5.0へ更新

Spring Security OAuth 2.5.0.RELEASEへ更新しました。

MyBatisを3.5.6へ更新

MyBatis 3.5.6へ更新しました。この更新にあわせて、MyBatis Springを2.0.6へ更新しました。

共通ライブラリの仕様を一部変更

共通ライブラリの一部仕様の変更と機能の追加を行いました。

  • [#996] Provide ContributorValidationMessages.properties for Japanese locale
  • [#1008] Make the tag library compatible with Bootstrap v4
  • [#1010] Update the version of maven-plugin
  • [#1013] @Compare does not support Bean Validation 2.0
  • [#1038] Switch from Java EE to Jakarta EE.
  • [#1042] Apply Spring Boot 2.4.1
  • [#1061] Javadoc generation fails when building with JDK 11

バグ修正に伴い共通ライブラリの一部仕様を変更しました。

  • [#984] Jadira usertype.core depends on deprecated hibernate-entitymanager.

以前から非推奨となっていたAPIを削除しました。

  • [#633] Consider to remove compatible with spring 3
  • [#1031] Remove deprecated APIs for a long time

ブランクプロジェクトの変更

ブランクプロジェクトの一部設定ファイルを変更しました。

5.6.1から5.7.0への移行手順

移行手順は、以下の通りです。

Note

凡例

Required : 手順の適用は必須
Required by case : 手順の適用は条件付きで必須
Optional : 手順の適用を推奨 (必要に応じて手順の適用を実施)
- : 手順の適用は必要なし

[全般]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ 手順 MavenMultiple Projects MavenSingle Project
依存ライブラリを更新 Required Required

[共通ライブラリ]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ 手順 MavenMultiple Projects MavenSingle Project
共通ライブラリが提供する入力チェック制約アノテーションのデフォルトエラーメッセージに日本語を追加したことに伴う対応 Required by case Required by case
共通ライブラリから非推奨APIを削除したことに伴う対応 Required by case Required by case
共通ライブラリの依存関係をJava EEからJakarta EEへ変更したことに伴う対応 Required by case Required by case
共通ライブラリが管理するMavenプラグインの最新化に伴う対応 Required by case Required by case
共通ライブラリが管理するJavadocプラグインの設定変更に伴う対応 Optional Optional
共通ライブラリが提供する入力チェック制約アノテーション @Compare のBean Validation 2.0対応に伴う対応 Optional Optional

[Blank project]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ 手順 MavenMultiple Projects MavenSingle Project
アプリケーション終了時のログが一部出力されないことへの対応 Required Required
warファイル作成時にWarningが発生する事象への対応 Required Required
Javadoc生成時にエラーが発生する事象への対応 Optional Optional
taglibs-standard-jstlelの依存スコープを変更 Optional Optional
Mavenセントラルリポジトリから取得するOracle JDBCドライバのグループIDを変更 Optional Optional
EntityManagerの設定の変更 Optional Optional

[Spring Framework]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ 手順 MavenMultiple Projects MavenSingle Project
Spring 5.3からSpring MVCのパスマッチングにおけるワイルドカードの記述方法が厳格化されたことへの対応 Required by case Required by case
Spring 5.3から @PathVariable における拡張子の扱いが変更されたことへの対応 Required by case Required by case
Spring 5.3から非推奨となったAPIへの対応 Required by case Required by case

[Spring Security]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ 手順 MavenMultiple Projects MavenSingle Project
Spring Security OAuth 2.5.0から DefaultUserAuthenticationConverter#getAuthorities の可視性が変更されたことへの対応 Required by case Required by case

[JUnit]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ 手順 MavenMultiple Projects MavenSingle Project
JUnit 4.13から非推奨となったAPIへの対応 Required by case Required by case

[Step 1] 依存ライブラリを更新

TERASOLUNA Server Framework for Java (5.x)の共通ライブラリと依存ライブラリを更新してください。 以下に、この手順により更新される代表的な依存ライブラリを示します。

.. tabularcolumns:: |p{0.35\linewidth}|p{0.25\linewidth}|p{0.25\linewidth}|p{0.15\linewidth}|
ライブラリ名 更新前バージョン 更新後バージョン 備考
TERASOLUNA Server Framework for Java (5.x) Common Library 5.6.1.RELEASE 5.7.0.RELEASE  
Spring Framework 5.2.3.RELEASE 5.3.2  
Spring Data 2.2.4.RELEASE 2.4.2  
Spring Security 5.2.1.RELEASE 5.4.2  
Spring Security OAuth2 2.4.0.RELEASE 2.5.0.RELEASE  
MyBatis3 3.5.3 3.5.6  
MyBatis Spring 2.0.3 2.0.6  
Hibernate Validator 6.0.18.Final 6.1.6.Final  
Jackson 2.10.2 2.11.3  
Joda Time 2.10.5 2.10.9  

[手順が必要なケース]

この手順の適用は必須です。

[Step 1-1] Maven Multiple Projectsを利用している場合

この更新手順は、mvn archetype を使用して作成したプロジェクト向けです。

親プロジェクトのPOMファイルの version5.7.0.RELEASE に修正してください。

  • ($YOUR_MULTIPLE_PROJECT_ROOT/pom.xml)
<!-- omitted -->
<parent>
    <groupId>org.terasoluna.gfw</groupId>
    <artifactId>terasoluna-gfw-parent</artifactId>
    <version>5.7.0.RELEASE</version>                    <!-- ### 修正箇所 ### -->
</parent>
<!-- omitted -->

[Step 1-2] Maven Single Projectを利用している場合

この更新手順は、mvn archetype を使用して作成したプロジェクト、又は release site からダウンロードしたプロジェクト向けです。

プロジェクトのPOMファイルの version5.7.0.RELEASE に修正してください。

  • ($YOUR_SINGLE_PROJECT/pom.xml)
<!-- omitted -->
<parent>
    <groupId>org.terasoluna.gfw</groupId>
    <artifactId>terasoluna-gfw-parent</artifactId>
    <version>5.7.0.RELEASE</version>                    <!-- ### 修正箇所 ### -->
</parent>
<!-- omitted -->

[Step 2] 共通ライブラリが提供する入力チェック制約アノテーションのデフォルトエラーメッセージに日本語を追加したことに伴う対応

Hibernate Validator 6.1.0から入力チェックのデフォルトエラーメッセージに日本語が追加されました。 これに伴い、共通ライブラリが提供する制約アノテーションのデフォルトエラーメッセージにも日本語を追加しました。

Hibernate Validatorおよび共通ライブラリが提供するデフォルトエラーメッセージを利用している場合、 日本語ロケール環境で動作すると出力されるエラーメッセージが自動的に日本語化されます。

特にメッセージを英語表記に統一していた場合、意図せず日本語化されてしまうことが不具合となるため注意してください。

[手順が必要なケース]

以下のケースに当てはまる場合、必要に応じて修正を行ってください。

  • Hibernate Validatorおよび共通ライブラリが提供するデフォルトエラーメッセージを利用しており、アプリケーションを日本語ロケール環境で動作している

[修正方法]

エラーメッセージを英語で出力したい場合、以下のいずれかの対応を行なう必要があります。

  • アプリケーションを日本語ロケール環境 以外 で動作する
  • アプリケーションのValidationMessages.propertiesに独自に英語のエラーメッセージを定義する

英語のデフォルトエラーメッセージについては、開発ガイドラインの以下を参照してください。

[Step 3] 共通ライブラリから非推奨APIを削除したことに伴う対応

共通ライブラリから5.1.1までに非推奨となっていたAPIやTERASOLUNA Global Framework 1.xとの互換のためのAPIを削除しました。

これに伴い、アプリケーションで削除された非推奨APIを利用していた場合にはコンパイルエラーが発生します。

削除された非推奨APIについては、以下を参照してください。

[手順が必要なケース]

以下のケースに当てはまる場合、修正を行ってください。

  • 削除された非推奨APIを利用している

[修正方法]

5.6.1までの各APIのJavadocを参照し、代替APIに置き換えてください。

なお、以下についてご留意ください。

  • TransactionTokenContext#createToken および #removeToken メソッドについては利用すべきユースケースがないと判断し、代替APIを用意していません。
  • RedirectAuthenticationHandler のデフォルト設定を再現する場合、DefaultRedirectStrategy#contextRelative (コンテキスト相対URLでのリダイレクト)を有効にしますが、Spring Security 5.4.0からコンテキストパスを含まないURLが入力された場合に例外をスローするよう変更されているため、例外ハンドリングが必要となります。詳細は spring-security#8399を参照してください。

[Step 4] 共通ライブラリの依存関係をJava EEからJakarta EEへ変更したことに伴う対応

共通ライブラリで独自に定義している依存関係について、5.6.1まではJava EE 8までに準拠していましたが、5.7.0からJakarta EE 8準拠にアップグレードしました。

これにより、以下のような問題によりデプロイ・リクエスト処理時にエラーが発生する可能性があります。

  • Java EEとJakarta EEで依存ライブラリのアーティファクトIDが異なるため、両者が併存してしまう
  • アプリケーションを動作するAPサーバによっては、APサーバのライブラリとの競合が発生する

[手順が必要なケース]

以下のケースに当てはまる場合、修正を行ってください。

  • アプリケーションの依存関係または推移的依存関係により、同一の依存ライブラリが併存している

    依存ライブラリについては mvn dependency:tree コマンドで確認することができます。
    例えば、5.7.0で依存関係に追加された jakarta.el-api とアプリケーションが依存する javax.el-api が共存していないかを確認します。
  • 動作確認の結果、ライブラリ競合によりエラーが発生する

    アプリケーションまたはAPサーバのログで確認することができます。
    例えば、依存ライブラリのバージョン違いにより NoClassDefFoundError 等のエラーが発生していないかを確認します。

[修正方法]

同一の依存ライブラリが併存しているしている場合、不要なほうを依存関係から除外してください。 依存関係から除外するには以下のような対応を行いますが、詳細はMavenの公式リファレンスを参照してください。

  • pom.xmlに依存関係が定義されている場合、不要なライブラリを削除する
  • pom.xmlの依存関係から推移的に依存している場合、当該依存関係から不要なライブラリを exclusions で除外する
  • pom.xmlの複数の依存関係から推移的に依存している場合、不要なライブラリの依存関係を provided スコープで定義する

APサーバのライブラリとの競合については、開発ガイドラインの以下を参考に対応してください。

[Step 5] 共通ライブラリが管理するMavenプラグインの最新化に伴う対応

5.6.1までの共通ライブラリで管理していたMavenプラグインが全体的に古く、Java 11での動作でエラーになる等の不具合があったため、最新化を行ないました。

アプリケーションで独自にプラグインのバージョンを指定していない場合、自動的にアップグレードされビルドの挙動に変更が生じる可能性があります。

最新化されたプラグインのバージョンについては、以下を参照してください。

[手順が必要なケース]

以下のケースに当てはまる場合、ビルドの挙動を確認して必要に応じて修正を行ってください。

  • 上記の最新化されたプラグインについて、アプリケーションで独自にバージョンを指定していない場合

[修正方法]

プラグインごとに対応方法が異なるため、各公式リファレンスを参照して対応してください。

なお、プラグインを5.6.1までのバージョンに戻す場合はterasoluna-gfw-parentのpom.xmlに定義されたプロパティを上書きします。 例えば Maven Compiler Plugin のバージョンを戻す場合は以下のように定義します。

  • pom.xml
<properties>
    <!-- omitted -->
    <maven-compiler-plugin.version>3.1</maven-compiler-plugin.version>  <!-- ### 追加箇所 ### -->
</properties>

[Step 6] 共通ライブラリが管理するJavadocプラグインの設定変更に伴う対応

5.7.0よりmaven-javadoc-pluginの設定を変更し、doclint機能を無効にしました。

doclint機能はJavadocツールが提供する、一般的なJavadocのエラーを検出する機能です。 詳細はjavadocのツール・リファレンスを参照してください。

doclint機能が有効な場合、Javadocコメントに問題があるとエラーが発生します。 doclint機能が無効な場合、問題はWarningで報告されます。

[手順が必要なケース]

この手順の適用は任意です。以下のケースに当てはまる場合、必要に応じて修正を行ってください。

  • maven-javadoc-pluginを用いてJavadocを生成している
  • doclint機能を用いてエラー検出を行っている

[修正方法]

プロジェクトのmaven-javadoc-pluginの定義に以下の設定を追加して、doclint機能を有効にしてください。

  • pom.xml
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <configuration>
        <!--omitted-->
        <doclint>all</doclint>  <!-- ### 追加箇所 ### -->
    </configuration>
</plugin>

[Step 7] 共通ライブラリが提供する入力チェック制約アノテーション @Compare のBean Validation 2.0対応に伴う対応

5.5.1から共通ライブラリが提供する入力チェック制約アノテーションはBean Validation 2.0に準拠していますが、 相関項目チェックの @Compare のみ5.7.0から準拠しました。

これに伴い、同一クラスに @Compare を複数付与する場合に @List で囲む必要がなくなりました。 これまで通りに @List で囲んでも正常に動作します。

詳細は、5.5.1の移行ガイドを参照してください。

[Step 8] アプリケーション終了時のログが一部出力されないことへの対応

ブランクプロジェクトベースのアプリケーションでは、アプリケーション終了時に一部のログが出力されないことが分かりました。

Logbackにより自動登録された LogbackServletContextListener がアプリケーション終了時に他のリスナより先にLogbackを停止してしまうことが原因であり、 Springのアプリケーションコンテキストを破棄する際のログが出力されない事象が確認されています。

システム運用やトラブル解析に必要な情報が得られない可能性があるため、Logbackが停止されないようブランクプロジェクトの設定を改善しました。

[手順が必要なケース]

この手順の適用は必須です。適用しなくてもアプリケーションの動作に問題はありませんが、運用を考慮し必ず適用してください。

[修正方法]

Logbackによる LogbackServletContextListener 自動登録を無効化し、 全てのリスナより前に 登録されるよう変更します。

  • web.xml
<!-- ### 追加箇所開始 ### -->
<context-param>
    <param-name>logbackDisableServletContainerInitializer</param-name>
    <param-value>true</param-value>
</context-param>

<listener>
    <listener-class>ch.qos.logback.classic.servlet.LogbackServletContextListener</listener-class>
</listener>
<!-- ### 追加箇所終了 ### -->

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

[Step 9] warファイル作成時にWarningが発生する事象への対応

Java 11を使用してwarファイルの作成を行うとWarningが発生する事象を確認したため、WARプラグインの最新化を行いました。

ブランクプロジェクトで管理するWARプラグインは古いバージョンであるため、更新を行うことを推奨します。

[手順が必要なケース]

この手順の適用は必須です。

[修正方法]

pom.xmlに定義されたプロパティを修正してください。

  • pom.xml
<properties>
    <!-- == Maven Plugin Versions == -->
    <maven-war-plugin.version>3.3.1</maven-war-plugin.version>  <!-- ### 変更箇所 ### -->
    <!--omitted-->
</properties>

[Step 10] Javadoc生成時にエラーが発生する事象への対応

ソースコードのJavaバージョンと異なるJavaバージョンを使用してJavadocを生成した場合、エラーが発生する可能性があります。

このエラーはmaven-javadoc-pluginにソースコードのJavaバージョンを指定することで解決するため、ブランクプロジェクトのデフォルトの定義を変更しました。

[手順が必要なケース]

この手順は任意ですが、ブランクプロジェクトに準拠するため修正することを推奨します。

[修正方法]

プロジェクトのpom.xmlに、maven-javadoc-pluginの設定を追加してください。

  • pom.xml
</pluginManagement>
    <plugins>
        <!--omitted-->
        <!-- ### 追加箇所 開始 ### -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
                <source>${java-version}</source>
            </configuration>
        </plugin>
        <!-- ### 追加箇所 終了 ### -->
    </plugins>
</pluginManagement>

[Step 11] taglibs-standard-jstlelの依存スコープを変更

ブランクプロジェクトにデフォルトで定義している依存関係 taglibs-standard-jstlel は実行時に必要なライブラリですが、 これまで compile スコープで定義されていたため、 runtime スコープに変更しました。

[手順が必要なケース]

この手順は任意ですが、ブランクプロジェクトに準拠するため修正することを推奨します。

[修正方法]

taglibs-standard-jstlelruntime スコープに変更します。

  • pom.xml
<!-- Required only for Tomcat. If run on other J2EE server,
    remove this dependency and use provided tag libraries. -->
<dependency>
    <groupId>org.apache.taglibs</groupId>
    <artifactId>taglibs-standard-jstlel</artifactId>
    <scope>runtime</scope>                            <!-- ### 追加箇所 ### -->
</dependency>

[Step 12] Mavenセントラルリポジトリから取得するOracle JDBCドライバのグループIDを変更

Mavenセントラルリポジトリで公開されているOracle提供ライブラリのグループ体系が再整理され、 JDBCドライバのグループIDが変更されました。 旧グループIDで提供された既存のドライバは継続して提供されますが、新規のドライバは新グループIDで提供されることになります。

これに伴い、ブランクプロジェクトにデフォルトで定義しているOracle JDBCドライバへの依存関係を修正しました。

[手順が必要なケース]

この手順は任意ですが、新グループIDで提供されているバージョンのドライバを利用する場合は修正することを推奨します。

[修正方法]

Oracle JDBCドライバのグループIDを変更します。

  • pom.xml
<dependency>
    <groupId>com.oracle.database.jdbc</groupId>      <!-- ### 変更箇所 ### -->
    <artifactId>ojdbc8</artifactId>
    <version>${ojdbc.version}</version>
    <scope>runtime</scope>
</dependency>

[Step 13] EntityManagerの設定の変更

ブランクプロジェクトにデフォルトで定義しているHibernate ORMのEntityManagerの設定を、開発ガイドラインに準拠するように変更しました。

設定内容の詳細は開発ガイドラインのEntityManagerの設定を参照してください。

[手順が必要なケース]

この手順の適用は任意です。JPA用のブランクプロジェクトを利用している場合は、必要に応じて修正を行ってください。

[修正方法]

EntityManagerのBean定義を変更します。

  • [projectName]-infra.xml
<bean id="jpaVendorAdapter"
    class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
    <property name="showSql" value="false" />                             <!-- ### 削除箇所 ### -->
    <property name="database" value="${database}" />
</bean>

<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <!-- omitted -->
    <property name="jpaPropertyMap">
        <util:map>
            <entry key="hibernate.hbm2ddl.auto" value="" />               <!-- ### 削除箇所 ### -->
            <entry key="hibernate.ejb.naming_strategy"
                value="org.hibernate.cfg.ImprovedNamingStrategy" />       <!-- ### 削除箇所 ### -->
            <entry key="hibernate.connection.charSet" value="UTF-8" />
            <entry key="hibernate.show_sql" value="false" />              <!-- ### 削除箇所 ### -->
            <entry key="hibernate.format_sql" value="false" />
            <entry key="hibernate.use_sql_comments" value="true" />
            <entry key="hibernate.jdbc.batch_size" value="30" />
            <entry key="hibernate.jdbc.fetch_size" value="100" />
        </util:map>
    </property>
</bean>

[Step 14] Spring 5.3からSpring MVCのパスマッチングにおけるワイルドカードの記述方法が厳格化されたことへの対応

Spring 5.3から、Spring MVCのパスマッチングを効率化するため、従来の AntPathMatcher の代わりに PathPatternParser を利用するよう変更されました。

PathPatternParser では配下全体を示すワイルドカード ** の扱いが厳格化されており、** をパスパターンの途中(末尾以外)に含めることができません。このため、従来は問題なかったパスパターンが原因でアプリケーションの起動やリクエスト処理に失敗する可能性があります。

[手順が必要なケース]

以下のケースに当てはまる場合、修正を行ってください。

  • HandlerInterceptor 等の適用において、パスパターンの途中(末尾以外)に ** を記述している

[修正方法]

実現していた要件に応じて、以下のいずれかの変更を加えてください。

  • パスパターンの途中(末尾以外)の *** に変更する
  • パスパターンの途中(末尾以外)の ** より後のパターンを削除する

以下に *** に変更する例を示します。

  • spring-mvc.xml
<mvc:interceptor>
    <mvc:mapping path="/**" />
    <mvc:exclude-mapping path="/resources/**" />
    <mvc:exclude-mapping path="/sample/**/use-case/**" />      <!-- ### 変更箇所(変更前) ### -->
    <mvc:exclude-mapping path="/sample/*/use-case/**" />       <!-- ### 変更箇所(変更後) ### -->
    <bean
        class="org.terasoluna.gfw.web.logging.TraceLoggingInterceptor" />
</mvc:interceptor>

[Step 15] Spring 5.3から @PathVariable における拡張子の扱いが変更されたことへの対応

Spring MVCのリクエストマッピングにおいて、従来は拡張子を利用してコンテンツタイプごとにハンドラメソッドを切り替えることができました。

現在は Accept ヘッダでコンテンツタイプを指定するのが主流となったため、 Spring 5.2.4からリクエストマッピングに拡張子を使うことが非推奨となり、Spring 5.3.0からデフォルト設定で拡張子による切り替えが無効になりました。

この影響により、 従来は拡張子が @PathVariable でバインドされる値に含まれませんでしたが、含まれるようになりました。

[手順が必要なケース]

以下のケースに当てはまる場合、修正を行ってください。

  • @RequestMapping のパス末尾を変数としており、 @PathVariable でバインドしている

[修正方法]

パス変数をバインドするハンドラメソッドでは、拡張子の有無を判定して適切に処理するよう修正してください。

従来のように @PathVariable でバインドされる値に拡張子が含まれないよう変更したい場合は、以下のいずれかの修正を行ないます。

  • mvc:annotation-driven の設定で suffix-pattern を有効にする(全体)
  • @RequestMapping で拡張子無しと有りの両方のパスにマッピングする(個別)

詳細は、開発ガイドラインの 3.4.1.4.2. URLのパスから値を取得するの Warning「Spring Framework 5.3.0より、パスの最後をパス変数にする場合、バインドされる値に拡張子が含まれるように変更された。」を参照してください。

[Step 16] Spring 5.3から非推奨となったAPIへの対応

Spring 5.3からいくつかのAPIが非推奨となりました。本フレームワークで利用するものは以下の通りです。

  • Spring WebMVC : HandlerInterceptorAdapter インタフェース
  • Spring Core : StringUtils#isEmpty メソッド
  • Spring JDBC : JdbcTemplate#queryForObject 等のうち、SQLパラメータを Object[] 引数で取っているメソッドの一部

Spring 5.3.2の非推奨APIについては、以下を参照してください。

[手順が必要なケース]

以下のケースに当てはまる場合、必要に応じて修正を行ってください。

  • 上記の非推奨APIを利用している

[修正方法]

Javadocを参考に、非推奨APIを代替APIに置き換えてください。

[Step 17] Spring Security OAuth 2.5から DefaultUserAuthenticationConverter#getAuthorities の可視性が変更されたことへの対応

9.9.3.2.3. リソースサーバへの独自項目連携方法のリソースサーバの実装において、 認可サーバから連携された情報を @AuthenticationPrincipal 引数で取得するために DefaultUserAuthenticationConverter を拡張しています。

Spring Security OAuth 2.5から、拡張を容易にするため DefaultUserAuthenticationConverter#getAuthorities メソッドの可視性が変更されました。 これにより、5.6.1まで開発ガイドラインで解説していた実装を変更する必要が生じます。

[手順が必要なケース]

以下のケースに当てはまる場合、修正を行ってください。

  • 開発ガイドラインに準拠して、リソースサーバへの独自項目連携の実装を行なっている

[修正方法]

開発ガイドラインを参考にして、修正を行ってください。

[Step 18] JUnit 4.13から非推奨となったAPIへの対応

JUnit 4.13からいくつかのAPIが非推奨となりました。本フレームワークで利用するものは以下の通りです。

  • Assert#assertThat メソッド

JUnit 4.13.1の非推奨APIについては、以下を参照してください。

[手順が必要なケース]

以下のケースに当てはまる場合、必要に応じて修正を行ってください。

  • 上記の非推奨APIを利用している

[修正方法]

Javadocを参考に、非推奨APIを代替APIに置き換えてください。

⚠️ **GitHub.com Fallback** ⚠️