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

5.0.1から5.1.0への移行ガイド

.. only:: html

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

5.1.0での主な変更点

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

  • Spring Frameworkを4.2.4へ更新
  • Apache Commons Collectionsを3.2.2へ更新
  • Spring Securityを4.0.3へ更新
  • Spring IO Platformを2.0.1へ更新
  • MyBatis Springを1.2.3へ更新
  • MyBatisを3.3.0へ更新

Spring Frameworkを4.2.4.RELEASEへ更新

5.1.0から、セキュリティ脆弱性を解決するためにSpring Frameworkを4.2.4.RELEASEへ更新しました。

  • [CVE-2015-5211] RFD Attack in Spring Framework ([SPR-13548] Protect against RFD exploits)
  • [CVE-2015-4852] [SPR-13656] SerializableTypeWrapper.MethodInvokeTypeProvider can be exploited for unsafe deserialization

Apache Commons Collectionsを3.2.2へ更新

5.1.0から、セキュリティ脆弱性を解決するためにApache Commons Collectionsを3.2.2へ更新しました。

  • [CVE-2015-4852] [COLLECTIONS-580] Arbitrary remote code execution with InvokerTransformer

Spring Securityを4.0.3へ更新

5.1.0から、Spring Framework 4.0.3.RELEASEへ更新しました。

Spring IO Platformを2.0.1へ更新

5.1.0から、Spring IO Platformを2.0.1.RELEASEへ更新しました。 この更新は、上の2つのセキュリティ脆弱性を解決するために行い、結果として以下のライブラリも更新しました。

  • Spring Data Commonsを1.11.2.RELEASEへ更新
  • Spring Data JPAを1.9.1.RELEASEへ更新
  • AspectJを1.8.7へ更新
  • Jacksonを2.6.4へ更新
  • SLF4Jを1.7.13へ更新
  • Hibernate ORMを4.3.11.Finalへ更新
  • Hibernate Validatorを5.2.2.Finalへ更新
  • Jboss Loggingを3.3.0.Finalへ更新
  • Joda Timeを2.8.2へ更新
  • Apache Commons Dbcp2を2.1.1へ更新
  • Apache Commons Pool2を2.4.2へ更新
  • Apache Commons Collectionsを3.2.2へ更新

MyBatisを3.3.0へ更新

5.1.0から、下記のバグ修正を取り込むために、MyBatis 3.3.0へ更新しました。 この更新にあわせて、MyBatis Springを1.2.3へ更新しました。

  • [#464] Bug fix support for MyBatis unexpected NPE
また、この更新に伴い、関連Entityを"Lazy Load"する際に使用されるデフォルトのライブラリが変更されています。デフォルトライブラリはCGLIBからJAVASSISTに変更されました。

共通ライブラリの機能追加および一部仕様を変更

5.1.0から、共通ライブラリに機能追加および一部仕様変更を行いました。 共通ライブラリ自体の実装は、これまでJDK1.6互換コードであることの保障がされていましたが、5.1.0よりJDK1.7互換コードであることの保障へ変更されました。

  • [#364] Support @AliasFor in @TransactionTokenCheck
  • [#367] Add utility to interconvert fullwidth <-> halfwidh
  • [#372] Add constraints of Bean Validation
  • [#390] Add CodePoint-based validaton
  • [#401] Add PARAMETER on @ExistInCodeList
  • [#402] Support CharSequence on @ExistInCodeList
  • [#436] Remove jsp/jstl dependencies from terasoluna-gfw-web
  • [#462] Deprecate RedirectAuthenticationHandler

ブランクプロジェクトの改善

5.1.0から、ブランクプロジェクトの一部の設定ファイルを改善しました。

  • [single#136] Reflect changes of MyBatis 3.3.0
  • [single#137] Disable URL Rewriting by default with Servlet 3.0 config
  • [single#143] Polushing XML files
  • [single#159] Add validation messages
  • [single#162] Change dependency to terasoluna-gfw-web-jsp
  • [single#168] wrong spelling "plugi" at parent POM.xml
  • [multi#178] Reflect changes of MyBatis 3.3.0
  • [multi#179] Disable URL Rewriting by default with Servlet 3.0 config
  • [multi#185] Polushing XML files
  • [multi#193] Change configuration value of 'onError' option of sql-maven-plugin. (continue -> abort)
  • [multi#198] Add validation messages
  • [multi#201] About "auto-config"
  • [multi#204] Change dependency to terasoluna-gfw-web-jsp
  • [multi#209] POM analysis is failing at seleinumPJ,'cause maven-failsafe-plugin version is not found.
  • [multi#213] wrong spelling "plugi" at parent POM.xml

5.0.1から5.1.0への移行手順

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

Note

凡例

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

[全般]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ 手順 MavenMultiple Projects MavenSingle Project EclipseWTP Project
依存ライブラリを更新 Required Required Required
terasoluna-gfw-webからJSP/JSTL関連ライブラリを分離したことに伴う修正 Required by case Required by case -

[Spring Framework]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ 手順 MavenMultiple Projects MavenSingle Project EclipseWTP Project
Spring Frameworkの推奨されないAPIを置換 Required by case Required by case Required by case
Hibernate Validatorのバグ(HV-881、HV-949)の解消に伴う暫定対処解除 Required by case 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}|p{0.20\linewidth}|
ステップ 手順 MavenMultiple Projects MavenSingle Project EclipseWTP Project
AuthenticationExceptionクラスのコンストラクタ引数変更に伴う修正 Required by case Required by case Required by case
authorize要素の変更に伴う修正 Required by case Required by case Required by case
ConcurrentSessionControlStrategyの削除 Required by case Required by case Required by case
デフォルトのURLおよびパラメータ名の変更 Required by case Required by case Required by case
ROLE名のプレフィクス(ROLE_)の省略に伴う修正 Required by case Required by case Required by case
Spring Security のパッケージ変更に伴う修正 Required by case Required by case Required by case
use-expressions のデフォルト値変更に伴う修正 Required by case Required by case Required by case
disable-url-rewriting のデフォルト値変更に伴う修正 Required by case Required by case Required by case
access-denied-page属性の削除 Required by case Required by case Required by case
path-type属性の削除 Required by case Required by case Required by case
csrfのデフォルト設定の変更に伴う修正 Required by case Required by case Required by case
headersのデフォルト設定の変更に伴う修正 Required by case Required by case Required by case

[MyBatis]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ 手順 MavenMultiple Projects MavenSingle Project EclipseWTP Project
defaultFetchSizeの設定 Optional Optional Optional
MyBatis3.3.0へ更新したことによる設定変更 Optional Optional Optional
ResultHandlerのジェネリック対応 Optional Optional Optional

[共通ライブラリ]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ 手順 MavenMultiple Projects MavenSingle Project EclipseWTP Project
ExistInCodeListValidatorForString の削除に伴う修正 Required by case Required by case Required by case
RedirectAuthenticationHandler が非推奨となることに伴う修正 Required by case Required by case Required by case

[Blank project]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ 手順 MavenMultiple Projects MavenSingle Project EclipseWTP Project
Javaのバージョンを1.8に更新 Optional Optional -
URL再書込を禁止するServlet3.0の設定 Optional Optional Optional
各種XMLファイルのソース整理 Optional Optional Optional
新規アノテーション用メッセージの追加 Optional Optional Optional
auto-config属性の設定を削除 Optional Optional Optional
build-helper-maven-pluginのバージョンプロパティ名の変更 Optional Optional Optional
maven-failsafe-pluginの追加 Optional Optional -
sql-maven-pluginのonError設定の削除 Optional - -

[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.0.1.RELEASE 5.1.0.RELEASE  
Spring Framework 4.1.7.RELEASE 4.2.4.RELEASE  
Spring Security 3.2.7.RELEASE 4.0.3.RELEASE  
Spring Data Commons 1.9.3.RELEASE 1.11.2.RELEASE  
Spring Data JPA 1.7.3.RELEASE 1.9.2.RELEASE  
Hibernate ORM 4.3.10.Final 4.3.11.Final  
Hibernate Validator 5.1.3.Final 5.2.2.Final  
AspectJ 1.8.6 1.8.7  
SLF4J 1.7.12 1.7.13  
Jackson 2.4.6 2.6.4  
Jboss Logging 3.1.3.GA 3.3.0.Final  
Joda Time 2.5 2.8.2  
Apache Commons Dbcp2 2.0.1 2.1.1  
Apache Commons Pool2 2.2 2.4.2  
Apache Commons Collections 3.2.1 3.2.2  
MyBatis3 3.2.8 3.3.0  
MyBatis3 Spring 1.2.2 1.2.3  

[手順が必要なケース]

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

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

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

親プロジェクトのpomファイルの version5.1.0.RELEASE に修正してください。 ($YOUR_MULTIPLE_PROJECT_ROOT/pom.xml)

<!-- omitted -->
<parent>
    <groupId>org.terasoluna.gfw</groupId>
    <artifactId>terasoluna-gfw-parent</artifactId>
    <version>5.1.0.RELEASE</version>                    <!-- ### 修正箇所 ### -->
</parent>
<!-- omitted -->

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

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

プロジェクトのpomファイルの version5.1.0.RELEASE にしてください。
($YOUR_SINGLE_PROJECT/pom.xml)
<!-- omitted -->
<parent>
    <groupId>org.terasoluna.gfw</groupId>
    <artifactId>terasoluna-gfw-parent</artifactId>
    <version>5.1.0.RELEASE</version>                    <!-- ### 修正箇所 ### -->
</parent>
<!-- omitted -->

[Step 1-3] Eclipse WTP Projectを利用している場合

この更新手順は、release site からダウンロードしたEclipse WTPプロジェクト向けです。

更新手順は、Eclipse WTP Project使用時のライブラリ更新 を参照してください。

[Step 2] terasoluna-gfw-webからJSP/JSTL関連ライブラリを分離したことに伴う修正

5.1.0 から、 terasoluna-gfw-web からJSP/JSTL関連ライブラリを terasoluna-gfw-web-jsp へ移動しました。

[手順が必要なケース]

JSP/JSTLを使用している場合に修正が必要です。

[修正方法]

JSP/JSTLを使用するプロジェクトの pom.xml に以下のように、 terasoluna-gfw-web-jspdependencies へ追加して下さい。

<!-- omitted -->
<dependencies>
    <dependency>                                          <!-- ### 追加箇所 ### -->
        <groupId>org.terasoluna.gfw</groupId>             <!-- ### 追加箇所 ### -->
        <artifactId>terasoluna-gfw-web-jsp</artifactId>   <!-- ### 追加箇所 ### -->
    </dependency>                                         <!-- ### 追加箇所 ### -->
    <!-- omitted -->
</dependencies>
<!-- omitted -->

[Step 3] Spring Frameworkの推奨されないAPIを置換

5.1.0 (Spring Framework 4.2) から、 AbstractExcelView は推奨されません。 代わりに AbstractXlsView が追加されました。

[手順が必要なケース]

AbstractExcelView を使用している場合に修正が必要です。

[修正方法]

AbstractExcelView の代わりに AbstractXlsView を使用するように変更してください。

[Step 4] Hibernate Validatorのバグ(HV-881、HV-949)の解消に伴う暫定対処解除

5.1.0 (Spring Framework 4.2) にて、Hibernate Validator 5.2.x が使用されるようになり、5.1.x に存在していたメッセージ定義のバグが修正されました。

[手順が必要なケース]

5.1.x に存在していたメッセージ定義のバグにたいする暫定対処として、 ValidationMessages.properties にメッセージ定義を上書きしている場合に修正が必要です。

[修正方法]

ValidationMessages.properties に定義した暫定対処を削除してください。 暫定対処を行ったメッセージ定義については、 Hibernate Validator 5.2系に対して行われている修正内容 を参照してください。

[Step 5] AuthenticationExceptionクラスのコンストラクタ引数変更に伴う修正

5.1.0 (Spring Security 4.0.3) から、 AuthenticationException のサブクラスである下記クラスのコンストラクタの引数がが変更されました。

  • AccountStatusException
  • AccountExpiredException
  • BadCredentialsException
  • CredentialsExpiredException
  • DisabledException
  • LockedException
  • UsernameNotFoundException

[手順が必要なケース]

上記クラスで、 UserDetails を使用したコンストラクタを使用している場合に修正が必要です。

[修正方法]

以下のように、コンストラクタの引数から UserDetails を削除します。

new UsernameNotFoundException ("Message");

[Step 6] authorize要素の変更に伴う修正

5.1.0 (Spring Security 4.0.3) から、 taglib authorize タグの下記属性が削除されました。

  • ifAllGranted
  • ifAnyGranted
  • ifNotGranted

[手順が必要なケース]

authorize タグを使用しており、且つ上記属性を使用している場合に修正が必要です。

[修正方法]

該当するJSPにおいて、それぞれ、下記の記述に変更します。

ifAllGranted

hasRole()and を使用します。

【修正前】

<sec:authorize ifAllGranted="ROLE_ADMIN,ROLE_USER">

【修正後】

<sec:authorize access="hasRole('ROLE_ADMIN') and hasRole('ROLE_USER')">

ifAnyGranted

hasAnyRole() を使用します。

【修正前】

<sec:authorize ifAnyGranted="ROLE_ADMIN,ROLE_USER">

【修正後】

<sec:authorize access="hasAnyRole('ROLE_ADMIN','ROLE_USER')">

ifNotGranted

!hasAnyRole() を使用します。

【修正前】

<sec:authorize ifNotGranted="ROLE_ADMIN,ROLE_USER">

【修正後】

<sec:authorize access="!hasAnyRole('ROLE_ADMIN','ROLE_USER')">

[Step 7] ConcurrentSessionControlStrategyの削除

5.1.0 (Spring Security 4.0.3) から、 非推奨のAPIであった ConcurrentSessionControlStrategy が削除されました。

[手順が必要なケース]

ConcurrentSessionControlStrategy を使用している場合は修正が必要です。

[修正方法]

下記を参照してください。

http://docs.spring.io/spring-security/site/docs/4.0.3.RELEASE/reference/htmlsingle/#concurrent-sessions

[Step 8] デフォルトのURLおよびパラメータ名の変更

5.1.0 (Spring Security 4.X) から、 以下のURLおよびパラメータ名が変更となりました。

  • j_username
  • j_password
  • j_spring_security_check
  • j_spring_cas_security_check
  • j_spring_cas_security_proxyreceptor
  • j_spring_openid_security_login
  • j_spring_security_switch_user
  • j_spring_security_exit_user
  • login_error
  • _spring_security_remember_me

[手順が必要なケース]

上記URLおよびパラメータ名 を使用している場合は修正が必要です。

[修正方法]

上記URLおよびパラメータ名 を使用している箇所すべてを、それぞれ、以下に変更してください。

  • j_username -> username
  • j_password -> password
  • j_spring_security_check -> login
  • j_spring_cas_security_check -> login/cas
  • j_spring_cas_security_proxyreceptor -> login/cas/proxyreceptor
  • j_spring_openid_security_login -> login/openid
  • j_spring_security_switch_user -> login/impersonate
  • j_spring_security_exit_user -> logout/impersonate
  • login_error -> error
  • _spring_security_remember_me -> remember-me

[Step 9] ROLE名のプレフィクス(ROLE_)の省略に伴う修正

5.1.0 (Spring Security 4.X) から、 Spring Securityの機能を使用する際、ROLE名の指定時にプレフィクス(ROLE_)を省略できるようになりました。

[手順が必要なケース]

Spring Securityの機能でROLE名を使用している場合は修正が必要です。 プログラム内で扱うユーザの権限データ(エンティティ)で使用しているROLE名のプレフィクスは必要なため、修正不要です。

[修正方法]

  • spring-security.xml の場合

    以下のいずれかのファイルにて、ROLE名からプレフィクス(ROLE_)を削除します。

    • $YOUR_MULTIPLE_PROJECT_ROOT/xxx-web/src/main/resources/META-INF/spring/spring-security.xml
    • $YOUR_SINGLE_PROJECT/src/main/resources/META-INF/spring/spring-security.xml
    • $YOUR_ECLIPSE_WTP_PROJECT/src/main/resources/META-INF/spring/spring-security.xml

    【修正前】

    <sec:http auto-config="true" use-expressions="true">
        <sec:intercept-url pattern="/admin/*" access="hasRole('ROLE_ADMIN')"/>  <!-- ### 修正箇所 ### -->
        <!-- omitted -->
    </sec:http>

    【修正後】

    <sec:http auto-config="true" use-expressions="true">
        <sec:intercept-url pattern="/admin/*" access="hasRole('ADMIN')"/>       <!-- ### 修正箇所 ### -->
        <!-- omitted -->
    </sec:http>
  • java の場合

    以下のように、ROLE名からプレフィクス(ROLE_)を削除します。

    【修正前】

    @PreAuthorize("hasRole('ROLE_ADMIN')")  // ### 修正箇所 ###
    String preAuthorize();

    【修正後】

    @PreAuthorize("hasRole('ADMIN')")       // ### 修正箇所 ###
    String preAuthorize();

[Step 10] Spring Security のパッケージ変更に伴う修正

5.1.0 (Spring Security 4.X) から、 AuthenticationPrincipal 及び AuthenticationPrincipalArgumentResolver のパッケージが変更となりました。

[手順が必要なケース]

AuthenticationPrincipal または AuthenticationPrincipalArgumentResolver を使用している場合は修正が必要です。

[修正方法]

パッケージ名を以下のように修正して下さい。

【修正前】

import org.springframework.security.web.bind.support.AuthenticationPrincipalArgumentResolver;
import org.springframework.security.web.bind.annotation.AuthenticationPrincipal;

【修正後】

import org.springframework.security.web.method.annotation.AuthenticationPrincipalArgumentResolver;
import org.springframework.security.core.annotation.AuthenticationPrincipal;

[Step 11] use-expressions のデフォルト値変更に伴う修正

5.1.0 (Spring Security 4.X) から、 use-expressions のデフォルト値が、 false から true へ変更になりました。

[手順が必要なケース]

Spring Security を使用している場合は修正が必要です。

[修正方法]

Spring Security で Spring EL式 の有効/無効を切り替える設定を、以下のように変更してください。

【Spring Security で Spring EL式 を無効にする場合】

use-expressions="false" を明示的に設定

<sec:http  use-expressions="false">               <!-- ### 修正箇所 ### -->
  <!-- omitted -->
</sec:http>

【Spring Security で Spring EL式 を有効にする場合】

use-expressions="true" の設定は省略可

<sec:http>                                        <!-- ### 修正箇所 ### -->
  <!-- omitted -->
</sec:http>

[Step 12] disable-url-rewriting のデフォルト値変更に伴う修正

5.1.0 (Spring Security 4.X) から、 disable-url-rewriting のデフォルト値が、 false から true へ変更になりました。

[手順が必要なケース]

Spring Security を使用している場合は修正が必要です。

[修正方法]

Spring Security で URL再書込みの無効化機能 の有効/無効を切り替える設定を、以下のように変更してください。

【Spring Security で URL再書込みの無効化機能 を無効(URL再書込みを許可)にする場合】

disable-url-rewriting="false" を明示的に設定

<sec:http  disable-url-rewriting="false">         <!-- ### 修正箇所 ### -->
  <!-- omitted -->
</sec:http>

【Spring Security で URL再書込みの無効化機能 を有効(URL再書込みを拒否)にする場合】

disable-url-rewriting="true" の設定は省略可

<sec:http>                                        <!-- ### 修正箇所 ### -->
  <!-- omitted -->
</sec:http>

[Step 13] access-denied-page属性の削除

5.1.0 (Spring Security 4.X) から、 access-denied-page 属性が削除されます。

[手順が必要なケース]

access-denied-page 属性 を使用している場合は修正が必要です。

[修正方法]

Spring Security のHTTP要素を以下のように変更してください。

【修正前】

<sec:http access-denied-page="/accessDeneidPage">                     <!-- ### 修正箇所 ### -->
    <!-- omitted -->
</sec:http>

【修正後】

<sec:http>                                                            <!-- ### 修正箇所 ### -->
    <!-- omitted -->
    <sec:access-denied-handler error-page="/accessDeneidPage" />      <!-- ### 修正箇所 ### -->
</sec:http>

[Step 14] path-type属性の削除

5.1.0 (Spring Security 4.X) から、 path-type 属性が削除されます。

[手順が必要なケース]

以下要素にて path-type 属性 を使用している場合は修正が必要です。

  • http
  • filter-chain-map
  • filter-security-metadata-source

[修正方法]

以下のように path-type 属性 の代わりに request-matcher 属性を使用してしてください。

【修正前】

<sec:http path-type="regex">          <!-- ### 修正箇所 ### -->
    <!-- omitted -->
</sec:http>

【修正後】

<sec:http request-matcher="regex">    <!-- ### 修正箇所 ### -->
    <!-- omitted -->
</sec:http>

[Step 15] csrfのデフォルト設定の変更に伴う修正

5.1.0 (Spring Security 4.X) から、 Spring Security で CSRF機能がデフォルトで有効となります。

[手順が必要なケース]

Spring Securityで csrf 要素を使用している場合、または、 csrf 要素を使用せずにCSRF機能を無効にしている場合は修正が必要です。

[修正方法]

  • Spring Security で CSRF機能を無効にする場合
<sec:http>
  <sec:csrf disabled="true"/>     <!-- ### 修正箇所 ### -->
  <!-- omitted -->
</sec:http>
  • Spring Security で CSRF機能を有効にする場合

csrf 要素 の設定は省略可

<sec:http>
  <!-- omitted -->
</sec:http>

[Step 16] headersのデフォルト設定の変更に伴う修正

5.1.0 (Spring Security 4.X) から、 Spring Security で セキュアなHTTPレスポンスヘッダーを設定する機能がデフォルトで有効となります。 デフォルトで以下のHTTPレスポンスヘッダが設定されます。

  • Cache-Control
  • X-Content-Type-Options
  • Strict-Transport-Security
  • X-Frame-Options
  • X-XSS-Protection

[手順が必要なケース]

Spring Securityで headers 要素を使用している場合、または、headers 要素を使用せずにセキュアなHTTPレスポンスヘッダーを設定する機能を無効にしている場合は修正が必要です。

[修正方法]

【セキュアなHTTPレスポンスヘッダーを設定する機能を無効にする場合】

<sec:http>
  <sec:headers disabled="true"/>              <!-- ### 修正箇所 ### -->
  <!-- omitted -->
</sec:http>

【セキュアなHTTPレスポンスヘッダーを設定する機能を有効にする場合】

headers 要素 の設定は省略可

<sec:http>
  <!-- omitted -->
</sec:http>

【個別にHTTPレスポンスヘッダーを設定する場合】

headers 要素 の defaults-disabled 属性でデフォルトの設定を無効にしたうえで、個別の設定を行います。

<sec:http>
  <sec:headers defaults-disabled="true">      <!-- ### 修正箇所 ### -->
    <sec:cache-control />                     <!-- ### 修正箇所 ### -->
    <sec:content-type-options />              <!-- ### 修正箇所 ### -->
    <sec:hsts />                              <!-- ### 修正箇所 ### -->
  </sec:headers>
  <!-- omitted -->
</sec:http>

[Step 17] defaultFetchSizeの設定

5.1.0 (MyBatis 3.3.0) から、 defaultFetchSize が利用可能となりました。 defaultFetchSize を設定することで、全てのクエリに対してデフォルトの fetchSize を設定することが可能になります。

[手順が必要なケース]

この手順の適用は任意ですが、MyBatisを利用する場合、次の修正を適用することを推奨します。

[修正方法]

修正方法については、ガイドラインの fetchSizeの設定 を参照してください。( English または Japanese )

[Step 18] MyBatis3.3.0へ更新したことによる設定変更

5.1.0から、MyBaits3.3.0へ更新したことにより"Lazy Load"を実現するために使用されるライブラリのデフォルト設定がCGLIBからJAVASSISTに変更されました。

[手順が必要なケース]

この手順の適用は任意です。以下2つのケースの場合、本手順の実施は必要ありません。

  • 適用外ケース1:"Lazy Load"を使用しない場合
  • 適用外ケース2:"Lazy Load"を使用するが、 pom.xml 設定ファイルの"dependency"および mybatis-config.xml 設定ファイルの"proxyFactory"により明示的に使用するライブラリを指定している場合

本手順が必要となるケースは、"Lazy Load"をデフォルトのライブラリで実現している場合(明示的にライブラリの設定を未実施の場合)です。 5.1.0での対応状況により以下2つのいずれかの手順を実施してください。

  • Step 18-1:MyBatisのデフォルトライブラリを使用する場合(JAVASSISTを使用)
  • Step 18-2:移行前とライブラリを変更しない場合(CGLIBを使用)

[Step 18-1] MyBatisのデフォルトライブラリを使用する場合(JAVASSISTを使用)

この手順は"Lazy Load"を実現するために使用するライブラリとしてMyBatis3.3.0のデフォルトライブラリであるJAVASSISTを使用するケースです。 移行前に使用されていたCGLIBの設定を削除します。

[修正方法]

MyBatisプロジェクトにおける以下のいずれかのファイルにて、設定を修正してください。

  • $YOUR_MULTIPLE_PROJECT_ROOT/pom.xml
  • $YOUR_SINGLE_PROJECT/pom.xml
  • $YOUR_ECLIPSE_WTP_PROJECT/pom.xml

【修正前】

<!-- omitted -->
        <dependency>                       <!-- ### 削除箇所 ### -->
            <groupId>cglib</groupId>       <!-- ### 削除箇所 ### -->
            <artifactId>cglib</artifactId> <!-- ### 削除箇所 ### -->
            <version>3.1</version>         <!-- ### 削除箇所 ### -->
            <scope>runtime</scope>         <!-- ### 削除箇所 ### -->
        </dependency>                      <!-- ### 削除箇所 ### -->
<!-- omitted -->

【修正後】

<!-- omitted -->
     <!-- none -->
<!-- omitted -->

[Step 18-2] 移行前とライブラリを変更しない場合(CGLIBを使用)

この手順は"Lazy Load"を実現するために使用するライブラリとしてCGLIBを使用するケースです。 MyBatis3.3.0ではJAVASSISTがデフォルトとなるため、CGLIBの設定を追加します。

[修正方法]

MyBatisプロジェクトにおける以下のいずれかのファイルにて、設定を修正してください。

  • $YOUR_MULTIPLE_PROJECT_ROOT/xxx-domain/src/main/resources/META-INF/mybatis/mybatis-config.xml
  • $YOUR_SINGLE_PROJECT/src/main/resources/META-INF/mybatis/mybatis-config.xml
  • $YOUR_ECLIPSE_WTP_PROJECT/src/main/resources/META-INF/mybatis/mybatis-config.xml

【修正前】

<!-- omitted -->
<!-- See http://mybatis.github.io/mybatis-3/configuration.html#settings -->
<settings>
    <setting name="mapUnderscoreToCamelCase" value="true" />
    <setting name="lazyLoadingEnabled" value="true" />
    <setting name="aggressiveLazyLoading" value="false" />
  <!-- ### 削除箇所 開始 ### -->
  <!--
      <setting name="defaultExecutorType" value="REUSE" />
      <setting name="jdbcTypeForNull" value="NULL" />
      <setting name="proxyFactory" value="JAVASSIST" />
      <setting name="localCacheScope" value="STATEMENT" />
  -->
  <!-- ### 削除箇所 終了 ### -->
</settings>
<!-- omitted -->

【修正後】

<!-- omitted -->
<!-- See http://mybatis.github.io/mybatis-3/configuration.html#settings -->
<settings>
    <setting name="mapUnderscoreToCamelCase" value="true" />
    <setting name="lazyLoadingEnabled" value="true" />
    <setting name="aggressiveLazyLoading" value="false" />
<!-- ### 追加箇所 開始 ### -->
<!-- Defaul value for proxyFactory has chenged to JAVASSIST since mybatis 3.3.0 .
 To use CGLIB as a proxyFactory, remove this comment and add dependency for CGLIB in pom.xml -->
    <setting name="proxyFactory" value="CGLIB" />
<!-- ### 追加箇所 終了 ### -->
</settings>
<!-- omitted -->

MyBatisプロジェクトにおける以下のいずれかのファイルにて、設定を修正してください。 追加するcglibのバージョンは各プロジェクトで確認してください。

  • $YOUR_MULTIPLE_PROJECT_ROOT/pom.xml
  • $YOUR_SINGLE_PROJECT/pom.xml
  • $YOUR_ECLIPSE_WTP_PROJECT/pom.xml

【修正前】

<!-- omitted -->
     <!-- none -->
<!-- omitted -->

【修正後】

<!-- omitted -->
    <!-- ### 追加箇所 開始 ### -->
    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>3.1</version>
        <scope>runtime</scope>
    </dependency>
   <!-- ### 追加箇所 終了 ### -->
<!-- omitted -->

[Step 19] ResultHandlerのジェネリック対応

5.1.0 (MyBatis 3.3.0) から、 org.apache.ibatis.session.ResultHandler はジェネリックに対応するクラスになりました。

[手順が必要なケース]

この手順の適用は任意ですが、MyBatisを利用する場合、次の修正を適用することを推奨します。

[修正方法]

以下のように ResultHandler および ResultContext をジェネリック対応してください。

【修正前】

public class BookResultHandler implements ResultHandler, AutoCloseable {          // ### 修正箇所 ###

    // omitted

    @Override
    public void handleResult(ResultContext context) {                             // ### 修正箇所 ###
        Book book = (Book) context.getResultObject();                             // ### 修正箇所 ###

        // omitted
    }
}

【修正後】

public class BookResultHandler implements ResultHandler<Book>, AutoCloseable {    // ### 修正箇所 ###

    // omitted

    @Override
    public void handleResult(ResultContext<? extends Book> context) {             // ### 修正箇所 ###
        Book book = context.getResultObject();                                    // ### 修正箇所 ###

        // omitted
    }
}

[Step 20] ExistInCodeListValidatorForString の削除に伴う修正

5.1.0 から、 ExistInCodeListValidatorForString が削除され、代わりに ExistInCodeListValidatorForCharSequence が追加されました。

[手順が必要なケース]

ExistInCodeListValidatorForString を使用している場合は修正が必要です。

[修正方法]

以下のように ExistInCodeListValidatorForStringExistInCodeListValidatorForCharSequence に置き換えてください。

【修正前】

import org.terasoluna.gfw.common.codelist.validator.ExistInCodeListValidatorForString;

【修正後】

import org.terasoluna.gfw.common.codelist.validator.ExistInCodeListValidatorForCharSequence;

[Step 21] RedirectAuthenticationHandler が非推奨となることに伴う修正

5.1.0 から、 RedirectAuthenticationHandler が非推奨となりました。

[手順が必要なケース]

RedirectAuthenticationHandler を使用している場合は修正が必要です。

[修正方法]

以下のように RedirectAuthenticationHandlerSavedRequestAwareAuthenticationSuccessHandler に置き換えてください。

【修正前】

// omitted
import org.terasoluna.gfw.security.web.redirect.RedirectAuthenticationHandler;    // ### 修正箇所 ###

public class MyAuthenticationSuccessHandler extends
                                           RedirectAuthenticationHandler {        // ### 修正箇所 ###
    // omitted
}

【修正後】

// omitted
import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;     // ### 修正箇所 ###

public class MyAuthenticationSuccessHandler extends
                                           SavedRequestAwareAuthenticationSuccessHandler {                // ### 修正箇所 ###
    // omitted
}

[Step 22] Javaのバージョンを1.8に更新

5.1.0 から、 Blank project が使用するJavaのバージョンが1.8になりました。

[手順が必要なケース]

この手順の適用は任意です。必要に応じて、次の修正を行ってください。

[修正方法]

以下のいずれかのファイルにて、以下のように Javaのバージョンを1.8に修正してください。

  • $YOUR_MULTIPLE_PROJECT_ROOT/pom.xml
  • $YOUR_SINGLE_PROJECT/pom.xml

【修正前】

<!-- omitted -->
<properties>
    <!-- omitted -->
    <java-version>1.7</java-version>      <!-- ### 修正箇所 ### -->
</properties>
<!-- omitted -->

【修正後】

<!-- omitted -->
<properties>
    <!-- omitted -->
    <java-version>1.8</java-version>      <!-- ### 修正箇所 ### -->
</properties>
<!-- omitted -->

[Step 23] URL再書込を禁止するServlet3.0の設定

5.1.0から、URLの再書込を禁止するServlet3.0の設定を取り込みました。 詳細な情報は、GitHub multi#179 を参照してください。

[手順が必要なケース]

この手順の適用は任意ですが、セキュリティ観点から適用を推奨します。

以下のケースの場合、本手順の実施は必要ありません。

  • クライアント-サーバ間におけるセッションIDの取り扱い方法としてCookieでの実現が難しく、URL再書込を行う必要がある場合

[修正方法]

以下のいずれかのファイルにて、設定を追加してください。

  • $YOUR_MULTIPLE_PROJECT_ROOT/xxx-web/src/main/webapp/WEB-INF/web.xml
  • $YOUR_SINGLE_PROJECT/src/main/webapp/WEB-INF/web.xml
  • $YOUR_ECLIPSE_WTP_PROJECT/src/main/webapp/WEB-INF/web.xml

【修正前】

<!-- omitted -->
<session-config>
    <!-- 30min -->
    <session-timeout>30</session-timeout>
</session-config>
<!-- omitted -->

【修正後】

<!-- omitted -->
<session-config>
    <!-- 30min -->
    <session-timeout>30</session-timeout>
    <cookie-config>                       <!-- ### 追加箇所 ### -->
        <http-only>true</http-only>       <!-- ### 追加箇所 ### -->
        <!-- <secure>true</secure> -->    <!-- ### 追加箇所 ### -->
    </cookie-config>                      <!-- ### 追加箇所 ### -->
    <tracking-mode>COOKIE</tracking-mode> <!-- ### 追加箇所 ### -->
</session-config>
<!-- omitted -->

[Step 24] 各種XMLファイルのソース整理

5.1.0にて、各種XMLファイルのインデントの整理や利用していないネームスペースの削除などのソース整理を行いました。

[手順が必要なケース]

この手順の適用は任意です。必要に応じて、次の修正を行ってください。

[修正方法]

修正方法については、以下を参照してください。

[Step 25] 新規アノテーション用メッセージの追加

5.1.0にて、以下のアノテーションが新規で追加されました。

  • @ByteMin
  • @ByteMax
  • @Compare
  • @ConsistOf

[手順が必要なケース]

この手順の適用は任意です。必要に応じて、次の修正を行ってください。

[修正方法]

以下のいずれかのファイルにて、設定を追加してください。

  • $YOUR_MULTIPLE_PROJECT_ROOT/xxx-web/src/main/resources/ValidationMessages.properties
  • $YOUR_SINGLE_PROJECT/src/main/resources/ValidationMessages.properties
  • $YOUR_ECLIPSE_WTP_PROJECT/src/main/resources/ValidationMessages.properties

【追加メッセージ】

org.terasoluna.gfw.common.codelist.ExistInCodeList.message = Does not exist in {codeListId}
org.terasoluna.gfw.common.codepoints.ConsistOf.message = not consist of specified code points
org.terasoluna.gfw.common.validator.constraints.ByteMin.message = must be greater than or equal to {value} bytes
org.terasoluna.gfw.common.validator.constraints.ByteMax.message = must be less than or equal to {value} bytes
org.terasoluna.gfw.common.validator.constraints.Compare.message = invalid combination of {left} and {right}

[Step 26] auto-config属性の設定を削除

Spring Securityの http 要素の auto-config 属性は、ガイドラインにてデフォルト( false )の設定を推奨しています。 そのため、5.1.0よりBlank projectから auto-config 属性を true にしている設定を削除しました。

[手順が必要なケース]

この手順の適用は任意ですが、 auto-config 属性が true に設定されている場合は、次の修正を適用することを推奨します。

[修正方法]

以下のように、 auto-config 属性を削除し、代わりに必要に応じて form-login 要素、http-basic 要素、 logout 要素を追加します。 各要素の詳細については、ガイドラインの auto-config属性について を参照してください。( English または Japanese )

【修正前】

<!-- omitted -->
<sec:http auto-config="true" >    <!-- ### 修正箇所 ### -->
    <!-- omitted -->
</sec:http>
<!-- omitted -->

【修正後】

<!-- omitted -->
<sec:http>                        <!-- ### 修正箇所 ### -->
    <sec:form-login/>             <!-- ### 修正箇所 ### -->
    <sec:logout/>                 <!-- ### 修正箇所 ### -->
    <!-- omitted -->
</sec:http>
<!-- omitted -->

[Step 27] build-helper-maven-pluginのバージョンプロパティ名の変更

5.1.0 の Blank project にて、誤って設定されていた build-helper-maven-plugin のバージョンを定義しているプロパティ名を"-maven-plugi"から" -maven-plugin "に修正しました。

[手順が必要なケース]

この手順の適用は任意ですが、誤記のため可能な限り以下の修正を行ってください。

[修正方法]

以下のいずれかのファイルにて、以下のように プロパティ名を修正してください。

  • $YOUR_MULTIPLE_PROJECT_ROOT/pom.xml
  • $YOUR_SINGLE_PROJECT/pom.xml

【修正前】

<!-- omitted -->
<properties>
    <!-- omitted -->
    <org.codehaus.mojo.build-helper-maven-plugi.version>1.9.1</org.codehaus.mojo.build-helper-maven-plugi.version>    <!-- ### 修正箇所 ### -->
    <!-- omitted -->
</properties>
<!-- omitted -->
<build>
    <pluginManagement>
        <plugins>
            <!-- omitted -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>${org.codehaus.mojo.build-helper-maven-plugi.version}</version>      <!-- ### 修正箇所 ### -->
                <!-- omitted -->
            </plugin>
            <!-- omitted -->
        </plugins>
    </pluginManagement>
</build>
<!-- omitted -->

【修正後】

<!-- omitted -->
<properties>
    <!-- omitted -->
    <org.codehaus.mojo.build-helper-maven-plugin.version>1.9.1</org.codehaus.mojo.build-helper-maven-plugin.version>  <!-- ### 修正箇所 ### -->
    <!-- omitted -->
</properties>
<!-- omitted -->
<build>
    <pluginManagement>
        <plugins>
            <!-- omitted -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>${org.codehaus.mojo.build-helper-maven-plugin.version}</version>     <!-- ### 修正箇所 ### -->
                <!-- omitted -->
            </plugin>
            <!-- omitted -->
        </plugins>
    </pluginManagement>
</build>
<!-- omitted -->

[Step 28] maven-failsafe-pluginの追加

Mavenのゴール integration-test でテストを実行するため、5.1.0 の Blank project にて maven-failsafe-plugin を追加しました。

[手順が必要なケース]

この手順の適用は任意です。必要に応じて、次の修正を行ってください。

[修正方法]

以下のいずれかのファイルにて、以下のように maven-failsafe-pluginmaven-surefire-plugin を追加、設定してください。

  • $YOUR_MULTIPLE_PROJECT_ROOT/xxx-selenium/pom.xml
  • $YOUR_SINGLE_PROJECT/pom.xml
<!-- omitted -->
<build>
     <plugins>
         <plugin>                                                 <!-- ### 追加箇所 ### -->
             <groupId>org.apache.maven.plugins</groupId>          <!-- ### 追加箇所 ### -->
             <artifactId>maven-failsafe-plugin</artifactId>       <!-- ### 追加箇所 ### -->
             <executions>                                         <!-- ### 追加箇所 ### -->
                 <execution>                                      <!-- ### 追加箇所 ### -->
                     <goals>                                      <!-- ### 追加箇所 ### -->
                         <goal>integration-test</goal>            <!-- ### 追加箇所 ### -->
                     </goals>                                     <!-- ### 追加箇所 ### -->
                 </execution>                                     <!-- ### 追加箇所 ### -->
             </executions>                                        <!-- ### 追加箇所 ### -->
         </plugin>                                                <!-- ### 追加箇所 ### -->
         <plugin>                                                 <!-- ### 追加箇所 ### -->
             <groupId>org.apache.maven.plugins</groupId>          <!-- ### 追加箇所 ### -->
             <artifactId>maven-surefire-plugin</artifactId>       <!-- ### 追加箇所 ### -->
             <configuration>                                      <!-- ### 追加箇所 ### -->
                 <excludes>                                       <!-- ### 追加箇所 ### -->
                     <exclude>**/*IT.java</exclude>               <!-- ### 追加箇所 ### -->
                 </excludes>                                      <!-- ### 追加箇所 ### -->
             </configuration>                                     <!-- ### 追加箇所 ### -->
         </plugin>                                                <!-- ### 追加箇所 ### -->
     </plugins>
</build>
<!-- omitted -->

[Step 29] sql-maven-pluginのonError設定の削除

Mavenビルド時にSQLエラーを無視してビルドが完了してしまわないよう、 5.1.0よりBlank projectから Mavenの sql-maven-pluginonError の設定を削除しました。

[手順が必要なケース]

この手順の適用は任意ですが、次の修正を適用することを推奨します。

[修正方法]

以下のファイルにて、以下のように sql-maven-pluginonError 設定を削除してください。

  • $YOUR_MULTIPLE_PROJECT_ROOT/xxx-initdb/pom.xml

【修正前】

<!-- omitted -->
<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>sql-maven-plugin</artifactId>
            <!-- omitted -->
            <configuration>
              <!-- omitted -->
              <onError>continue</onError>             <!-- ### 削除箇所 ### -->
              <!-- omitted -->
            </configuration>
        </plugin>
    </plugins>
</build>
<!-- omitted -->

【修正後】

<!-- omitted -->
<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>sql-maven-plugin</artifactId>
            <!-- omitted -->
            <configuration>
              <!-- omitted -->
            </configuration>
        </plugin>
    </plugins>
</build>
<!-- omitted -->

5.1.0用のAppendix

Eclipse WTP Project使用時のライブラリ更新

この更新手順は、release site からダウンロードしたEclipse WTPプロジェクト向けです。

Note

凡例

[テーブルヘッダ]
Non : O/R Mapperに非依存のブランクプロジェクト
MB3 : MyBatis3用のブランクプロジェクト
JPA : JPA用のブランクプロジェクト
[備考欄]
* : オペレーション対象

[Step 1]

Eclipse WTP Project of 5.1.0.RELEASE をダウンロードしてください。

[Step 2]

Eclipseが起動している場合、Eclipseを終了します。

[Step 3]

$YOUR_ECLIPSE_WTP_PROJECT/src/main/webapp/WEB-INF/lib のjarファイルを更新(削除して追加)してください。

.. tabularcolumns:: |p{0.25\linewidth}|p{0.30\linewidth}|p{0.30\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|
ライブラリ名 削除ファイル 追加ファイル Non MB3 JPA
TERASOLUNA Server Framework for Java (5.x) Common Library terasoluna-gfw-common-5.0.1.RELEASE.jar terasoluna-gfw-common-5.1.0.RELEASE.jar * * *
  terasoluna-gfw-jodatime-5.0.1.RELEASE.jar terasoluna-gfw-jodatime-5.1.0.RELEASE.jar * * *
  terasoluna-gfw-jpa-5.0.1.RELEASE.jar terasoluna-gfw-jpa-5.1.0.RELEASE.jar     *
  terasoluna-gfw-mybatis3-5.0.1.RELEASE.jar terasoluna-gfw-mybatis3-5.1.0.RELEASE.jar   *  
  terasoluna-gfw-security-core-5.0.1.RELEASE.jar terasoluna-gfw-security-core-5.1.0.RELEASE.jar * * *
  terasoluna-gfw-security-web-5.0.1.RELEASE.jar terasoluna-gfw-security-web-5.1.0.RELEASE.jar * * *
  terasoluna-gfw-web-5.0.1.RELEASE.jar terasoluna-gfw-web-5.1.0.RELEASE.jar * * *
    terasoluna-gfw-web-jsp-5.1.0.RELEASE.jar * * *
Spring Framework spring-aop-4.1.7.RELEASE.jar spring-aop-4.2.4.RELEASE.jar * * *
  spring-aspects-4.1.7.RELEASE.jar spring-aspects-4.2.4.RELEASE.jar * * *
  spring-beans-4.1.7.RELEASE.jar spring-beans-4.2.4.RELEASE.jar * * *
  spring-context-4.1.7.RELEASE.jar spring-context-4.2.4.RELEASE.jar * * *
  spring-context-support-4.1.7.RELEASE.jar spring-context-support-4.2.4.RELEASE.jar * * *
  spring-core-4.1.7.RELEASE.jar spring-core-4.2.4.RELEASE.jar * * *
  spring-expression-4.1.7.RELEASE.jar spring-expression-4.2.4.RELEASE.jar * * *
  spring-jdbc-4.1.7.RELEASE.jar spring-jdbc-4.2.4.RELEASE.jar * * *
  spring-orm-4.1.7.RELEASE.jar spring-orm-4.2.4.RELEASE.jar * * *
  spring-tx-4.1.7.RELEASE.jar spring-tx-4.2.4.RELEASE.jar * * *
  spring-web-4.1.7.RELEASE.jar spring-web-4.2.4.RELEASE.jar * * *
  spring-webmvc-4.1.7.RELEASE.jar spring-webmvc-4.2.4.RELEASE.jar * * *
Spring Data Commons spring-data-commons-1.9.3.RELEASE.jar spring-data-commons-1.11.2.RELEASE.jar * * *
Spring Security spring-security-acl-3.2.7.RELEASE.jar spring-security-acl-4.0.3.RELEASE.jar * * *
  spring-security-config-3.2.7.RELEASE.jar spring-security-config-4.0.3.RELEASE.jar * * *
  spring-security-core-3.2.7.RELEASE.jar spring-security-core-4.0.3.RELEASE.jar * * *
  spring-security-taglibs-3.2.7.RELEASE.jar spring-security-taglibs-4.0.3.RELEASE.jar * * *
  spring-security-web-3.2.7.RELEASE.jar spring-security-web-4.0.3.RELEASE.jar * * *
Spring Data JPA spring-data-jpa-1.7.3.RELEASE.jar spring-data-jpa-1.9.2.RELEASE.jar     *
Hibernate ORM hibernate-core-4.3.10.Final.jar hibernate-core-4.3.11.Final.jar     *
  hibernate-entitymanager-4.3.10.Final.jar hibernate-entitymanager-4.3.11.Final.jar     *
Hibernate Validator hibernate-validator-5.1.3.Final.jar hibernate-validator-5.2.2.Final.jar * * *
ClassMate classmate-1.0.0.jar classmate-1.1.0.jar * * *
AspectJ aspectjrt-1.8.6.jar aspectjrt-1.8.7.jar * * *
  aspectjweaver-1.8.6.jar aspectjweaver-1.8.7.jar * * *
SLF4J jcl-over-slf4j-1.7.12.jar jcl-over-slf4j-1.7.13.jar * * *
  slf4j-api-1.7.12.jar slf4j-api-1.7.13.jar * * *
Jackson jackson-annotations-2.4.6.jar jackson-annotations-2.6.4.jar * * *
  jackson-core-2.4.6.jar jackson-core-2.6.4.jar * * *
  jackson-databind-2.4.6.jar jackson-databind-2.6.4.jar * * *
  jackson-datatype-joda-2.4.6.jar jackson-datatype-joda-2.6.4.jar * * *
Jboss Logging jboss-logging-3.1.3.GA.jar jboss-logging-3.3.0.Final.jar * * *
Joda Time joda-time-2.5.jar joda-time-2.8.2.jar * * *
Apache Commons Collections commons-collections-3.2.1.jar commons-collections-3.2.2.jar * * *
Apache Commons Dbcp2 commons-dbcp2-2.0.1.jar commons-dbcp2-2.1.1.jar * * *
Apache Commons Pool2 commons-pool2-2.2.jar commons-pool2-2.4.2.jar * * *
MyBatis3 mybatis-3.2.8.jar mybatis-3.3.0.jar   *  
MyBatis3 Spring mybatis-spring-1.2.2.jar mybatis-spring-1.2.3.jar   *  

[Step 4]

$YOUR_ECLIPSE_WTP_PROJECT/testlib のjarファイルを更新(削除して追加)してください。

.. tabularcolumns:: |p{0.25\linewidth}|p{0.30\linewidth}|p{0.30\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|
ライブラリ名 削除ファイル 追加ファイル Non MB3 JPA
H2 Database Engine h2-1.4.187.jar h2-1.4.190.jar   * *
JUnit junit-4.11 junit-4.12 * * *
Mockito mockito-core-1.10.8.jar mockito-core-1.10.19.jar * * *
Spring TestContext Framework spring-test-4.1.7.RELEASE.jar spring-test-4.2.4.RELEASE.jar * * *
Tomcat Embed El tomcat-embed-el-7.0.59.jar tomcat-embed-el-8.0.30.jar * * *

[Step 5]

$YOUR_ECLIPSE_WTP_PROJECT/libsrc のソース格納用jarファイルを更新(削除して追加)してください。

.. tabularcolumns:: |p{0.25\linewidth}|p{0.30\linewidth}|p{0.30\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|
ライブラリ名 削除ファイル 追加ファイル Non MB3 JPA
TERASOLUNA Server Framework for Java (5.x) Common Library terasoluna-gfw-common-5.0.1.RELEASE-sources.jar terasoluna-gfw-common-5.1.0.RELEASE-sources.jar * * *
  terasoluna-gfw-jodatime-5.0.1.RELEASE-sources.jar terasoluna-gfw-jodatime-5.1.0.RELEASE-sources.jar * * *
  terasoluna-gfw-jpa-5.0.1.RELEASE-sources.jar terasoluna-gfw-jpa-5.1.0.RELEASE-sources.jar     *
  terasoluna-gfw-mybatis3-5.0.1.RELEASE-sources.jar terasoluna-gfw-mybatis3-5.1.0.RELEASE-sources.jar   *  
  terasoluna-gfw-security-core-5.0.1.RELEASE-sources.jar terasoluna-gfw-security-core-5.1.0.RELEASE-sources.jar * * *
  terasoluna-gfw-security-web-5.0.1.RELEASE-sources.jar terasoluna-gfw-security-web-5.1.0.RELEASE-sources.jar * * *
  terasoluna-gfw-web-5.0.1.RELEASE-sources.jar terasoluna-gfw-web-5.1.0.RELEASE-sources.jar * * *
    terasoluna-gfw-web-jsp-5.1.0.RELEASE-sources.jar * * *
Spring Framework spring-aop-4.1.7.RELEASE-sources.jar spring-aop-4.2.4.RELEASE-sources.jar * * *
  spring-aspects-4.1.7.RELEASE-sources.jar spring-aspects-4.2.4.RELEASE-sources.jar * * *
  spring-beans-4.1.7.RELEASE-sources.jar spring-beans-4.2.4.RELEASE-sources.jar * * *
  spring-context-4.1.7.RELEASE-sources.jar spring-context-4.2.4.RELEASE-sources.jar * * *
  spring-context-support-4.1.7.RELEASE-sources.jar spring-context-support-4.2.4.RELEASE-sources.jar * * *
  spring-core-4.1.7.RELEASE-sources.jar spring-core-4.2.4.RELEASE-sources.jar * * *
  spring-expression-4.1.7.RELEASE-sources.jar spring-expression-4.2.4.RELEASE-sources.jar * * *
  spring-jdbc-4.1.7.RELEASE-sources.jar spring-jdbc-4.2.4.RELEASE-sources.jar * * *
  spring-orm-4.1.7.RELEASE-sources.jar spring-orm-4.2.4.RELEASE-sources.jar * * *
  spring-tx-4.1.7.RELEASE-sources.jar spring-tx-4.2.4.RELEASE-sources.jar * * *
  spring-web-4.1.7.RELEASE-sources.jar spring-web-4.2.4.RELEASE-sources.jar * * *
  spring-webmvc-4.1.7.RELEASE-sources.jar spring-webmvc-4.2.4.RELEASE-sources.jar * * *
Spring Data Commons spring-data-commons-1.9.3.RELEASE-sources.jar spring-data-commons-1.11.2.RELEASE-sources.jar * * *
Spring Security spring-security-acl-3.2.7.RELEASE-sources.jar spring-security-acl-4.0.3.RELEASE-sources.jar * * *
  spring-security-config-3.2.7.RELEASE-sources.jar spring-security-config-4.0.3.RELEASE-sources.jar * * *
  spring-security-core-3.2.7.RELEASE-sources.jar spring-security-core-4.0.3.RELEASE-sources.jar * * *
  spring-security-taglibs-3.2.7.RELEASE-sources.jar spring-security-taglibs-4.0.3.RELEASE-sources.jar * * *
  spring-security-web-3.2.7.RELEASE-sources.jar spring-security-web-4.0.3.RELEASE-sources.jar * * *
Spring Data JPA spring-data-jpa-1.7.3.RELEASE-sources.jar spring-data-jpa-1.9.2.RELEASE-sources.jar     *
Hibernate ORM hibernate-core-4.3.10.Final-sources.jar hibernate-core-4.3.11.Final-sources.jar     *
  hibernate-entitymanager-4.3.10.Final-sources.jar hibernate-entitymanager-4.3.11.Final-sources.jar     *
Hibernate Validator hibernate-validator-5.1.3.Final-sources.jar hibernate-validator-5.2.2.Final-sources.jar * * *
ClassMate classmate-1.0.0-sources.jar classmate-1.1.0-sources.jar * * *
AspectJ aspectjrt-1.8.6-sources.jar aspectjrt-1.8.7-sources.jar * * *
  aspectjweaver-1.8.6-sources.jar aspectjweaver-1.8.7-sources.jar * * *
SLF4J jcl-over-slf4j-1.7.12-sources.jar jcl-over-slf4j-1.7.13-sources.jar * * *
  slf4j-api-1.7.12-sources.jar slf4j-api-1.7.13-sources.jar * * *
Jackson jackson-annotations-2.4.6-sources.jar jackson-annotations-2.6.4-sources.jar * * *
  jackson-core-2.4.6-sources.jar jackson-core-2.6.4-sources.jar * * *
  jackson-databind-2.4.6-sources.jar jackson-databind-2.6.4-sources.jar * * *
  jackson-datatype-joda-2.4.6-sources.jar jackson-datatype-joda-2.6.4-sources.jar * * *
Jboss Logging jboss-logging-3.1.3.GA-sources.jar jboss-logging-3.3.0.Final-sources.jar * * *
Joda Time joda-time-2.5-sources.jar joda-time-2.8.2-sources.jar * * *
Apache Commons Collections commons-collections-3.2.1-sources.jar commons-collections-3.2.2-sources.jar * * *
Apache Commons Dbcp2 commons-dbcp2-2.0.1-sources.jar commons-dbcp2-2.1.1-sources.jar * * *
Apache Commons Pool2 commons-pool2-2.2-sources.jar commons-pool2-2.4.2-sources.jar * * *
MyBatis3 mybatis-3.2.8-sources.jar mybatis-3.3.0-sources.jar   *  
MyBatis3 Spring mybatis-spring-1.2.2-sources.jar mybatis-spring-1.2.3-sources.jar   *  
H2 Database Engine h2-1.4.187-sources.jar h2-1.4.190-sources.jar   * *
JUnit junit-4.11-sources.jar junit-4.12-sources.jar * * *
Mockito mockito-core-1.10.8-sources.jar mockito-core-1.10.19-sources.jar * * *
Spring TestContext Framework spring-test-4.1.7.RELEASE-sources.jar spring-test-4.2.4.RELEASE-sources.jar * * *
Tomcat Embed El tomcat-embed-el-7.0.59-sources.jar tomcat-embed-el-8.0.30-sources.jar * * *

[Step 6]

置換文字列を使用して、参照ライブラリを更新してください。

  • $YOUR_ECLIPSE_WTP_PROJECT/.classpath
  • $YOUR_ECLIPSE_WTP_PROJECT/build.xml
.. tabularcolumns:: |p{0.25\linewidth}|p{0.30\linewidth}|p{0.30\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|
ライブラリ名 置換対象文字 置換文字 Non MB3 JPA
TERASOLUNA Server Framework for Java (5.x) Common Library terasoluna-gfw-common-5.0.1.RELEASE terasoluna-gfw-common-5.1.0.RELEASE * * *
  terasoluna-gfw-jodatime-5.0.1.RELEASE terasoluna-gfw-jodatime-5.1.0.RELEASE * * *
  terasoluna-gfw-jpa-5.0.1.RELEASE terasoluna-gfw-jpa-5.1.0.RELEASE     *
  terasoluna-gfw-mybatis3-5.0.1.RELEASE terasoluna-gfw-mybatis3-5.1.0.RELEASE   *  
  terasoluna-gfw-security-core-5.0.1.RELEASE terasoluna-gfw-security-core-5.1.0.RELEASE * * *
  terasoluna-gfw-security-web-5.0.1.RELEASE terasoluna-gfw-security-web-5.1.0.RELEASE * * *
  terasoluna-gfw-web-5.0.1.RELEASE terasoluna-gfw-web-5.1.0.RELEASE * * *
    terasoluna-gfw-web-jsp-5.1.0.RELEASE * * *
Spring Framework spring-aop-4.1.7.RELEASE spring-aop-4.2.4.RELEASE * * *
  spring-aspects-4.1.7.RELEASE spring-aspects-4.2.4.RELEASE * * *
  spring-beans-4.1.7.RELEASE spring-beans-4.2.4.RELEASE * * *
  spring-context-4.1.7.RELEASE spring-context-4.2.4.RELEASE * * *
  spring-context-support-4.1.7.RELEASE spring-context-support-4.2.4.RELEASE * * *
  spring-core-4.1.7.RELEASE spring-core-4.2.4.RELEASE * * *
  spring-expression-4.1.7.RELEASE spring-expression-4.2.4.RELEASE * * *
  spring-jdbc-4.1.7.RELEASE spring-jdbc-4.2.4.RELEASE * * *
  spring-orm-4.1.7.RELEASE spring-orm-4.2.4.RELEASE * * *
  spring-tx-4.1.7.RELEASE spring-tx-4.2.4.RELEASE * * *
  spring-web-4.1.7.RELEASE spring-web-4.2.4.RELEASE * * *
  spring-webmvc-4.1.7.RELEASE spring-webmvc-4.2.4.RELEASE * * *
Spring Data Commons spring-data-commons-1.9.3.RELEASE spring-data-commons-1.11.2.RELEASE * * *
Spring Security spring-security-acl-3.2.7.RELEASE spring-security-acl-4.0.3.RELEASE * * *
  spring-security-config-3.2.7.RELEASE spring-security-config-4.0.3.RELEASE * * *
  spring-security-core-3.2.7.RELEASE spring-security-core-4.0.3.RELEASE * * *
  spring-security-taglibs-3.2.7.RELEASE spring-security-taglibs-4.0.3.RELEASE * * *
  spring-security-web-3.2.7.RELEASE spring-security-web-4.0.3.RELEASE * * *
Spring Data JPA spring-data-jpa-1.7.3.RELEASE spring-data-jpa-1.9.2.RELEASE     *
Hibernate ORM hibernate-core-4.3.10.Final hibernate-core-4.3.11.Final     *
  hibernate-entitymanager-4.3.10.Final hibernate-entitymanager-4.3.11.Final     *
Hibernate Validator hibernate-validator-5.1.3.Final hibernate-validator-5.2.2.Final * * *
ClassMate classmate-1.0.0 classmate-1.1.0 * * *
AspectJ aspectjrt-1.8.6 aspectjrt-1.8.7 * * *
  aspectjweaver-1.8.6 aspectjweaver-1.8.7 * * *
SLF4J jcl-over-slf4j-1.7.12 jcl-over-slf4j-1.7.13 * * *
  slf4j-api-1.7.12 slf4j-api-1.7.13 * * *
Jackson jackson-annotations-2.4.6 jackson-annotations-2.6.4 * * *
  jackson-core-2.4.6 jackson-core-2.6.4 * * *
  jackson-databind-2.4.6 jackson-databind-2.6.4 * * *
  jackson-datatype-joda-2.4.6 jackson-datatype-joda-2.6.4 * * *
Jboss Logging jboss-logging-3.1.3.GA jboss-logging-3.3.0.Final * * *
Joda Time joda-time-2.5 joda-time-2.8.2 * * *
Apache Commons Collections commons-collections-3.2.1 commons-collections-3.2.2 * * *
Apache Commons Dbcp2 commons-dbcp2-2.0.1 commons-dbcp2-2.1.1 * * *
Apache Commons Pool2 commons-pool2-2.2 commons-pool2-2.4.2 * * *
MyBatis3 mybatis-3.2.8 mybatis-3.3.0   *  
MyBatis3 Spring mybatis-spring-1.2.2 mybatis-spring-1.2.3   *  
H2 Database Engine h2-1.4.187 h2-1.4.190   * *
JUnit junit-4.11 junit-4.12 * * *
Mockito mockito-core-1.10.8 mockito-core-1.10.19 * * *
Spring TestContext Framework spring-test-4.1.7.RELEASE spring-test-4.2.4.RELEASE * * *
Tomcat Embed El tomcat-embed-el-7.0.59 tomcat-embed-el-8.0.30 * * *
⚠️ **GitHub.com Fallback** ⚠️