Skip to content

Migration Guide 5.3.2_ja

btkobayashirun edited this page Mar 2, 2018 · 1 revision

5.3.1から5.3.2への移行ガイド

.. only:: html

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

5.3.2での主な変更点

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

  • Spring Frameworkを4.3.14へ更新
  • Spring Securityを4.1.5へ更新
  • 共通ライブラリの仕様を一部変更
  • ブランクプロジェクトの変更

Spring Frameworkを4.3.14へ更新

5.3.2から、Spring Framework 4.3.14.RELEASEへ更新しました。

Note

Spring IO Platform Athens-SR2ではSpring Framework 4.3.5.RELEASEが使用されますが、共通ライブラリでは独自にバージョン管理を行います。

Spring Securityを4.1.5へ更新

5.3.2から、Spring Security 4.1.5.RELEASEへ更新しました。

Note

Spring IO Platform Athens-SR2ではSpring Security 4.1.4.RELEASEが使用されますが、共通ライブラリでは独自にバージョン管理を行います。

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

5.3.2から、共通ライブラリの一部仕様を変更しました。

  • [#747] Wrong full width string in DefaultFullHalf
  • [#797] Update spring and spring security version

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

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

Note

改行コードについて

ブランクプロジェクトの改行コードをLFに統一しました。
ブランクプロジェクトのソースコードを使用する場合は、改行コードがCRLFと混在しないように注意してください。

5.3.1から5.3.2への移行手順

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

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

[共通ライブラリ]

.. 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 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
mvc:annotation-driven要素から独自のmvc:path-matching定義を削除 Optional Optional Optional
logback.xmlにDOCTYPE宣言を追加 Optional Optional
Oracle JDBCのグループIDの修正 Optional Optional
Selenium依存ライブラリのバージョン設定の削除 Optional Optional
maven-surefire-pluginのバージョン定義の追加 Optional

[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
パス変数を使用するアクセスポリシー定義の修正 Required by case Required by case Required by case
Cache-Controlヘッダが正常に出力されないバグの暫定対処 Required by case Required by case Required by case
SOAP Web ServiceのDI方法の変更 Required by case Required by case Required by case
SOAPクライアントのタイムアウト設定の修正 Required by case Required by case Required by case
Basic認証用リクエストヘッダの設定方法の修正 Optional Optional Optional

[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
@Transactionalアノテーションのtimeout属性が有効になったことに伴う修正 Required by case Required by case Required by case
OAuthのエラーハンドリング方法追加に伴う修正 Required by case Required by case Required by case
OAuthのクライアントでのアクセストークン削除方法の追加 Required by case 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.3.1.RELEASE 5.3.2.RELEASE  
Spring Framework 4.3.5.RELEASE 4.3.14.RELEASE  
Spring Security 4.1.4.RELEASE 4.1.5.RELEASE  

[手順が必要なケース]

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

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

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

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

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

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

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

プロジェクトのpomファイルの version5.3.2.RELEASE にしてください。

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

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

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

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

[Step 2] 全角半角変換ライブラリのバグ修正

[手順が必要なケース]

以下のいずれかのケースと一致する場合は、次の確認を行ってください。

  • org.terasoluna.gfw.common.fullhalf.DefaultFullHalfを使用している。
  • 開発ガイドラインを参考に独自のFullHalfConverterクラスの作成を行っている。

[仕様変更内容]

カタカナの"ベ"が変換されないバグが存在したため、org.terasoluna.gfw.common.fullhalf.DefaultFullHalf、及び独自の全角文字と半角文字のペア定義を登録したFullHalfConverterクラスの作成の実装例が以下のように修正されました。

この修正による影響がないか確認を行ってください。

【修正前】

.. tabularcolumns:: |p{0.30\linewidth}|p{0.30\linewidth}
変換対象文字 変換後
べ(ひらがな) ベ(カタカナ)
ベ(カタカナ) 変換されない

【修正後】

.. tabularcolumns:: |p{0.30\linewidth}|p{0.30\linewidth}
変換対象文字 変換後
べ(ひらがな) ベ(カタカナ)
ベ(カタカナ) ベ(カタカナ)

[Step 3] mvc:annotation-driven要素から独自のmvc:path-matching定義を削除

Spring Framework 4.3ではorg.springframework.util.AntPathMatchertrimTokensプロパティのデフォルト値がfalseになったため、明示的にfalseを設定していたAntPathMatcherの定義が不要となりました。

ブランクプロジェクトの5.3.1版まではtrimTokensプロパティにfalseを設定したAntPathMatcherを定義し、mvc:annotation-drivenmvc:path-matchingで適用していました。

5.3.2版からはAntPathMatcherの定義を削除し、Spring MVCのデフォルト設定を利用する形に変更しました。

[手順が必要なケース]

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

[修正方法]

  • ($YOUR_MULTIPLE_PROJECT_ROOT/projectName-web/src/main/resources/META-INF/spring/spring-mvc.xml)
  • ($YOUR_SINGLE_PROJECT/src/main/resources/META-INF/spring/spring-mvc.xml)
  • ($YOUR_ECLIPSE_WTP_PROJECT/src/main/resources/META-INF/spring/spring-mvc.xml)

以下の設定を削除してください。

<mvc:annotation-driven>
   <!-- omitted -->
   <!-- ### 削除箇所 ここから ### -->
   <!-- workaround to CVE-2016-5007. -->
   <mvc:path-matching path-matcher="pathMatcher" />
   <!-- ### 削除箇所 ここまで ### -->
</mvc:annotation-driven>

<!-- omitted -->

<!-- ### 削除箇所 ここから ### -->
<!-- Setting PathMatcher. -->
<bean id="pathMatcher" class="org.springframework.util.AntPathMatcher">
    <property name="trimTokens" value="false" />
</bean>
<!-- ### 削除箇所 ここまで ### -->

[Step 4] logback.xmlにDOCTYPE宣言を追加

ブランクプロジェクトのlogback.xmlにDOCTYPE宣言を追加しました。DOCTYPE宣言がなくても動作上問題はありませんが、Eclipse等のIDEにてXML構文違反の警告が表示されるため、追加することを推奨します。

[手順が必要なケース]

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

[修正方法]

プロジェクトのlogback.xmlに以下の修正を行ってください。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration> <!-- ### 追加箇所 ### -->
<configuration>

<!-- omitted -->

[Step 5] Oracle JDBCのグループIDの修正

ブランクプロジェクトのpom.xmlに記載されているojdbc7のグループIDが、公式リポジトリ(Oracle Maven Repository)から取得する場合と異なっていたため修正を行いました。

[手順が必要なケース]

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

[修正方法]

以下のようにグループIDをcom.oracleからcom.oracle.jdbcに変更してください。

【修正前】

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc7</artifactId>
    <version>${ojdbc.version}</version>
</dependency>

【修正後】

<dependency>
    <groupId>com.oracle.jdbc</groupId>
    <artifactId>ojdbc7</artifactId>
    <version>${ojdbc.version}</version>
</dependency>

pom.xmlに限らず、com.oracleでライブラリをインストールしているSonatype NEXUSなども適宜変更を行ってください。

[Step 6] Selenium依存ライブラリのバージョン設定の削除

ブランクプロジェクトが使用するSeleniumのバージョンをSpring IO Platformに準拠するように修正しました。Spring IO Platform Athens-SR2は、Selenium 2.53.1を使用しています。

[手順が必要なケース]

この手順の適用は任意ですが、以下のケースに当てはまる場合は、次の修正を行うことを推奨します。

  • Spring IO Platformに準拠したバージョンのSeleniumを使用する。

[修正方法]

プロジェクトのpom.xmldependencyManagementタグ内からSeleniumの依存ライブラリ設定を削除してください。

<dependencyManagement>
   <dependencies>

   <!--omitted-->
      <dependency>
          <groupId>org.seleniumhq.selenium</groupId>
          <artifactId>selenium-java</artifactId>
          <version>${selenium.version}</version>  <!-- ### 削除箇所 ### -->
          <scope>test</scope>
      </dependency>
   <!-- ### 削除箇所 開始 ### -->
      <dependency>
          <groupId>org.seleniumhq.selenium</groupId>
          <artifactId>selenium-chrome-driver</artifactId>
          <version>${selenium.version}</version>
          <scope>test</scope>
      </dependency>
      <dependency>
          <groupId>org.seleniumhq.selenium</groupId>
          <artifactId>selenium-remote-driver</artifactId>
          <version>${selenium.version}</version>
          <scope>test</scope>
      </dependency>
      <dependency>
          <groupId>org.seleniumhq.selenium</groupId>
          <artifactId>selenium-api</artifactId>
          <version>${selenium.version}</version>
          <scope>test</scope>
      </dependency>
      <dependency>
          <groupId>org.seleniumhq.selenium</groupId>
          <artifactId>selenium-firefox-driver</artifactId>
          <version>${selenium.version}</version>
          <scope>test</scope>
      </dependency>
      <dependency>
          <groupId>org.seleniumhq.selenium</groupId>
          <artifactId>selenium-ie-driver</artifactId>
          <version>${selenium.version}</version>
          <scope>test</scope>
      </dependency>
      <dependency>
          <groupId>org.seleniumhq.selenium</groupId>
          <artifactId>selenium-safari-driver</artifactId>
          <version>${selenium.version}</version>
          <scope>test</scope>
      </dependency>
      <dependency>
          <groupId>org.seleniumhq.selenium</groupId>
          <artifactId>selenium-support</artifactId>
          <version>${selenium.version}</version>
          <scope>test</scope>
      </dependency>
   <!-- ### 削除箇所 終了 ### -->
   <!--omitted-->

   </dependencies>
</dependencyManagement>
<properties>
   <!--omitted-->
   <selenium.version>2.46.0</selenium.version> <!-- ### 削除箇所 ### -->
   <!--omitted-->
</properties>

[備考]

使用するSeleniumのバージョンを独自に設定したい場合は、上記の削除対象をpom.xmlに定義し、selenium.versionに使用したいバージョンを指定してください。

定義はselenium-javaだけでは不十分であり、selenium-remote-driverなどのSelenium系ライブラリのバージョンも全て揃える必要があるため注意してください。

[Step 7] maven-surefire-pluginのバージョン定義の追加

ブランクプロジェクトのビルド時にmaven-surefire-pluginのバージョン未定義のWarningが発生していたため、バージョンを定義を追加しました。

バージョンは共通ライブラリの定義(2.17)と一致するように指定しています。

[手順が必要なケース]

以下のケースと一致する場合は、次の修正を行ってください。

  • maven-surefire-pluginのバージョンを独自に定義しておらず、ビルド時にWarningが出力されている。

[修正方法]

プロジェクトのpom.xmlに以下の定義を追加してください。

<build>
   <pluginManagement>
       <plugins>
           <!--omitted-->
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>${maven-surefire-plugin.version}</version>
           </plugin>
           <!--omitted-->
       </plugins>
   </pluginManagement>
</build>
<properties>
   <!--omitted-->
   <maven-surefire-plugin.version>2.17</maven-surefire-plugin.version>
   <!--omitted-->
</properties>

指定するバージョンについては、ビルド時に実際に使用されているバージョンが2.17以外なら、そのバージョンを指定しても問題ありません。

[Step 8] パス変数を使用するアクセスポリシー定義の修正

Spring Securityによる認可制御(<sec:intercept-url>)における パス変数の参照 の実装例が修正されました。

この修正は、 アクセスポリシーを適用するWebリソースの指定 のWarningで記載されている内容が、実装例に取り込まれていなかったため行われました。

以前の実装例では、URLに拡張子を含む場合に拡張子がパス変数の一部と認識されてしまい、意図しない認可制御が行われてしまいます。また、URLの最後が拡張子や/で終わる場合にSpring MVCとSpring Securityで解釈が変わることも考慮されていませんでした。

[手順が必要なケース]

以下のケースと一致する場合は、次の修正を行ってください。

  • Spring Securityによる認可制御(<sec:intercept-url>)を実施しており、パスパターン(pattern)にパス変数を使用している。

[修正方法]

•spring-security.xmlのアクセスポリシーの定義を変更してください。

例)

【修正前】

<sec:http>
   <sec:intercept-url pattern="/users/{userName}" access="isAuthenticated() and #userName == principal.username"/>
   <!-- omitted -->
</sec:http>

【修正後】

[ワイルドカードを使用する場合]

<sec:http>
   <sec:intercept-url pattern="/users/{userName}.*"  access="isAuthenticated() and #userName == principal.username"/>
   <sec:intercept-url pattern="/users/{userName}/**" access="isAuthenticated() and #userName == principal.username"/>
   <!-- omitted -->
</sec:http>

[ワイルドカードを使用しない場合]

<sec:http>
   <sec:intercept-url pattern="/users/{userName}.*"  access="isAuthenticated() and #userName == principal.username"/>
   <sec:intercept-url pattern="/users/{userName}/"   access="isAuthenticated() and #userName == principal.username"/>
   <sec:intercept-url pattern="/users/{userName}"    access="isAuthenticated() and #userName == principal.username"/>
   <!-- omitted -->
</sec:http>

[Step 9] Cache-Controlヘッダが正常に出力されないバグの暫定対処

Spring Security 4.1では以下のIssuesが原因で、アプリケーションサーバによってはCache-Controlヘッダが正常に出力されないバグが発生します。

spring-project/spring-security#2953

Spring Security 4.2では発生しないため、Spring Security 4.1を使用する場合のみ対応が必要になります。

[手順が必要なケース]

以下のケースと一致する場合、次の修正を行ってください。

  • HTTPレスポンスヘッダにCache-Controlヘッダが設定されない。

[修正方法]

開発ガイドラインの セキュリティヘッダの選択 のWarningを参照し、実装をおこなってください。

この実装が必要になるのはSpring Security 4.1のみなので、Spring Security 4.2以降に移行した場合は実装を削除してください。

[Step 10] SOAP Web ServiceのDI方法の変更

SOAP Web Serviceの実装で@Injectを使用していると、特定のAPサーバ上で正しく動作しないことが確認されています。 これは、SOAPサーバ上の処理はSpringが提供するサーブレットではなく、JAX-WSエンジンが提供するサーブレット上で動作する特徴があり、 @Injectを使用してSpring管理のBeanをインジェクションするように実装すると、実行環境の各APサーバ(Java EEサポートのAPサーバ)のCDI機能の影響を受けるためです。

[手順が必要なケース]

APサーバのDI機能を無効にしていない場合、上記の影響を受ける可能性があります。必要に応じて次の修正を行ってください。

[修正方法]

SOAPサーバの実装で@Injectを使用している箇所を全て@Autowiredに置き換える。

[Step 11] SOAPクライアントのタイムアウト設定の修正

SOAP Web Serviceのクライアントの実装で、タイムアウトの推奨設定を変更しました。

変更前はvalue-type属性でInteger型を指定していましたが、指定しなかった場合String型が適用され、一部のAPサーバを除きIntegerStringどちらでも正常に動作するためvalue-type属性の指定を削除しました。

[手順が必要なケース]

この手順は任意です。以下のケースと一致し、かつ必要な場合、次の修正を行ってください。

  • 使用しているAPサーバがweblogicではない。(※)
(※) weblogicについては対応方法が異なります。 SOAPクライアントのタイムアウトの設定について を参照してください。

[修正方法]

org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBeanのカスタムプロパティを修正してください。

  • ($YOUR_PROJECT_ROOT/[projectName]-domain/src/main/resources/META-INF/spring/[projectName]-domain.xml)

【修正前】

<property name="customProperties">
    <map>
        <entry key="com.sun.xml.internal.ws.connect.timeout" value-type="java.lang.Integer"  value="${webservice.connect.timeout}"/>
        <entry key="com.sun.xml.internal.ws.request.timeout" value-type="java.lang.Integer"  value="${webservice.request.timeout}"/>
    </map>
</property>

【修正後】

<property name="customProperties">
    <map>
        <entry key="com.sun.xml.internal.ws.connect.timeout" value="${webservice.connect.timeout}"/>
        <entry key="com.sun.xml.internal.ws.request.timeout" value="${webservice.request.timeout}"/>
    </map>
</property>

[Step 12] Basic認証用リクエストヘッダの設定方法の修正

Spring Framework 4.1からorg.springframework.http.client.support.BasicAuthorizationInterceptorが追加され、独自にBasic認証用のリクエストヘッダ設定処理を実装する必要がなくなりました。

[手順が必要なケース]

独自にBasic認証用のリクエストヘッダ設定処理を実装していた場合、次の修正を適用することを推奨します。

[修正方法]

独自に実装したBasic認証用のリクエストヘッダ設定処理(BasicAuthInterceptor)を削除し、applicationContext.xmlを以下のように修正する。

【修正前】

<bean id="basicAuthInterceptor" class="com.example.restclient.BasicAuthInterceptor" />

【修正後】

<bean id="basicAuthInterceptor" class="org.springframework.http.client.support.BasicAuthorizationInterceptor">
    <constructor-arg index="0" value="${api.auth.username}" /><!-- ユーザ名を設定 -->
    <constructor-arg index="1" value="${api.auth.password}" /><!-- パスワードを設定 -->
</bean>

[Step 13] @Transactionalアノテーションのtimeout属性が有効になったことに伴う修正

MyBatis 3.4とMyBatis-Spring 1.3の組み合わせでは、@Transactionalアノテーションのtimeout属性が有効になりました。

[手順が必要なケース]

この手順の適用は任意ですが、以下のケースのいずれかと一致する場合は、次の修正を適用することを推奨します。

  • トランザクション管理に必要な情報をXML(bean定義)で宣言している。
  • timeout属性が作用しないことの対応として、MyBatisのマッパーXMLでステートメント単位にタイムアウトを指定している。

[修正方法:トランザクション管理に必要な情報をXML(bean定義)で宣言している場合]

XML(Bean定義)を削除し、@Transactionalをトランザクション管理対象とするクラスまたはクラスメソッドに対して指定します。

例)

【修正前】

<bean id="fooService" class="x.y.service.DefaultFooService"/>

<tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
        <tx:method name="*" timeout="10"/>
    </tx:attributes>
</tx:advice>

<aop:config>
    <aop:pointcut id="fooServiceOperation" expression="execution(* x.y.service.FooService.*(..))"/>
    <aop:advisor advice-ref="txAdvice" pointcut-ref="fooServiceOperation"/>
</aop:config>

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource"/>
</bean>

【修正後】

<bean id="fooService" class="x.y.service.DefaultFooService"/>

<tx:annotation-driven />

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource"/>
</bean>
@Transactional(timeout = "10")
public class DefaultFooService implements FooService {

   //omitted

}

詳細については、開発ガイドラインの トランザクション管理について を参照してください。

[修正方法:MyBatisのマッパーXMLでステートメント単位にタイムアウトを指定している場合]

マッパーXMLでステートメントからtimeout属性を削除し、@Transactionalに対してtimeout属性を指定してください。

[Step 14] OAuthのエラーハンドリング方法追加に伴う修正

開発ガイドラインの OAuthの実装例 にてエラーハンドリングの実装例が追加されました。 追加前の開発ガイドラインの実装例ではエラーハンドリングが不十分であるため、修正を行う必要があります。

[手順が必要なケース]

以下のいずれかのケースと一致する場合、次の修正を行ってください。

  • 開発ガイドラインに準拠した実装を行い、独自のエラーハンドリングを追加していない。
  • 開発ガイドラインに準拠した実装を行い、独自のエラーハンドリングを追加したが、5.3.2版開発ガイドラインの実装方針と異なる場合。

[修正方法]

OAuthのエラーハンドリング の実装例を確認し、実装を行ってください。

[Step 15] OAuthのクライアントでのアクセストークン削除方法の追加

開発ガイドラインの OAuthの実装例 にてクライアントでのアクセストークン削除の実装例が追加されました。

[手順が必要なケース]

以下のケースと一致する場合、次の実装を行ってください。

  • 認可サーバでアクセストークンの取り消しを実装している。

[実装方法]

トークンの取り消し(クライアントサーバ) の実装例を確認し、実装を行ってください。

5.3.2用のAppendix

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

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

Note

凡例

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

[Step 1]

Eclipse WTP Project of 5.3.2.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.3.1.RELEASE.jar terasoluna-gfw-common-5.3.2.RELEASE.jar * * *
  terasoluna-gfw-jodatime-5.3.1.RELEASE.jar terasoluna-gfw-jodatime-5.3.2.RELEASE.jar * * *
  terasoluna-gfw-security-web-5.3.1.RELEASE.jar terasoluna-gfw-security-web-5.3.2.RELEASE.jar * * *
  terasoluna-gfw-web-5.3.1.RELEASE.jar terasoluna-gfw-web-5.3.2.RELEASE.jar * * *
  terasoluna-gfw-web-jsp-5.3.1.RELEASE.jar terasoluna-gfw-web-jsp-5.3.2.RELEASE.jar * * *
Spring Framework spring-aop-4.3.5.RELEASE.jar spring-aop-4.3.14.RELEASE.jar * * *
  spring-aspects-4.3.5.RELEASE.jar spring-aspects-4.3.14.RELEASE.jar * * *
  spring-beans-4.3.5.RELEASE.jar spring-beans-4.3.14.RELEASE.jar * * *
  spring-context-4.3.5.RELEASE.jar spring-context-4.3.14.RELEASE.jar * * *
  spring-context-support-4.3.5.RELEASE.jar spring-context-support-4.3.14.RELEASE.jar * * *
  spring-core-4.3.5.RELEASE.jar spring-core-4.3.14.RELEASE.jar * * *
  spring-expression-4.3.5.RELEASE.jar spring-expression-4.3.14.RELEASE.jar * * *
  spring-jdbc-4.3.5.RELEASE.jar spring-jdbc-4.3.14.RELEASE.jar * * *
  spring-orm-4.3.5.RELEASE.jar spring-orm-4.3.14.RELEASE.jar * * *
  spring-tx-4.3.5.RELEASE.jar spring-tx-4.3.14.RELEASE.jar * * *
  spring-web-4.3.5.RELEASE.jar spring-web-4.3.14.RELEASE.jar * * *
  spring-webmvc-4.3.5.RELEASE.jar spring-webmvc-4.3.14.RELEASE.jar * * *
Spring Security spring-security-acl-4.1.4.RELEASE.jar spring-security-acl-4.1.5.RELEASE.jar * * *
  spring-security-config-4.1.4.RELEASE.jar spring-security-config-4.1.5.RELEASE.jar * * *
  spring-security-core-4.1.4.RELEASE.jar spring-security-core-4.1.5.RELEASE.jar * * *
  spring-security-taglibs-4.1.4.RELEASE.jar spring-security-taglibs-4.1.5.RELEASE.jar * * *
  spring-security-web-4.1.4.RELEASE.jar spring-security-web-4.1.5.RELEASE.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
Spring TestContext Framework spring-test-4.3.5.RELEASE.jar spring-test-4.3.14.RELEASE.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.3.1.RELEASE-sources.jar terasoluna-gfw-common-5.3.2.RELEASE-sources.jar * * *
  terasoluna-gfw-jodatime-5.3.1.RELEASE-sources.jar terasoluna-gfw-jodatime-5.3.2.RELEASE-sources.jar * * *
  terasoluna-gfw-security-web-5.3.1.RELEASE-sources.jar terasoluna-gfw-security-web-5.3.2.RELEASE-sources.jar * * *
  terasoluna-gfw-web-5.3.1.RELEASE-sources.jar terasoluna-gfw-web-5.3.2.RELEASE-sources.jar * * *
  terasoluna-gfw-web-jsp-5.3.1.RELEASE-sources.jar terasoluna-gfw-web-jsp-5.3.2.RELEASE-sources.jar * * *
Spring Framework spring-aop-4.3.5.RELEASE-sources.jar spring-aop-4.3.14.RELEASE-sources.jar * * *
  spring-aspects-4.3.5.RELEASE-sources.jar spring-aspects-4.3.14.RELEASE-sources.jar * * *
  spring-beans-4.3.5.RELEASE-sources.jar spring-beans-4.3.14.RELEASE-sources.jar * * *
  spring-context-4.3.5.RELEASE-sources.jar spring-context-4.3.14.RELEASE-sources.jar * * *
  spring-context-support-4.3.5.RELEASE-sources.jar spring-context-support-4.3.14.RELEASE-sources.jar * * *
  spring-core-4.3.5.RELEASE-sources.jar spring-core-4.3.14.RELEASE-sources.jar * * *
  spring-expression-4.3.5.RELEASE-sources.jar spring-expression-4.3.14.RELEASE-sources.jar * * *
  spring-jdbc-4.3.5.RELEASE-sources.jar spring-jdbc-4.3.14.RELEASE-sources.jar * * *
  spring-orm-4.3.5.RELEASE-sources.jar spring-orm-4.3.14.RELEASE-sources.jar * * *
  spring-tx-4.3.5.RELEASE-sources.jar spring-tx-4.3.14.RELEASE-sources.jar * * *
  spring-web-4.3.5.RELEASE-sources.jar spring-web-4.3.14.RELEASE-sources.jar * * *
  spring-webmvc-4.3.5.RELEASE-sources.jar spring-webmvc-4.3.14.RELEASE-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.3.1.RELEASE terasoluna-gfw-common-5.3.2.RELEASE * * *
  terasoluna-gfw-jodatime-5.3.1.RELEASE terasoluna-gfw-jodatime-5.3.2.RELEASE * * *
  terasoluna-gfw-security-web-5.3.1.RELEASE terasoluna-gfw-security-web-5.3.2.RELEASE * * *
  terasoluna-gfw-web-5.3.1.RELEASE terasoluna-gfw-web-5.3.2.RELEASE * * *
  terasoluna-gfw-web-jsp-5.3.1.RELEASE terasoluna-gfw-web-jsp-5.3.2.RELEASE * * *
Spring Framework spring-aop-4.3.5.RELEASE spring-aop-4.3.14.RELEASE * * *
  spring-aspects-4.3.5.RELEASE spring-aspects-4.3.14.RELEASE * * *
  spring-beans-4.3.5.RELEASE spring-beans-4.3.14.RELEASE * * *
  spring-context-4.3.5.RELEASE spring-context-4.3.14.RELEASE * * *
  spring-context-support-4.3.5.RELEASE spring-context-support-4.3.14.RELEASE * * *
  spring-core-4.3.5.RELEASE spring-core-4.3.14.RELEASE * * *
  spring-expression-4.3.5.RELEASE spring-expression-4.3.14.RELEASE * * *
  spring-jdbc-4.3.5.RELEASE spring-jdbc-4.3.14.RELEASE * * *
  spring-orm-4.3.5.RELEASE spring-orm-4.3.14.RELEASE * * *
  spring-tx-4.3.5.RELEASE spring-tx-4.3.14.RELEASE * * *
  spring-web-4.3.5.RELEASE spring-web-4.3.14.RELEASE * * *
  spring-webmvc-4.3.5.RELEASE spring-webmvc-4.3.14.RELEASE * * *
Spring Security spring-security-acl-4.1.4.RELEASE spring-security-acl-4.1.5.RELEASE * * *
  spring-security-config-4.1.4.RELEASE spring-security-config-4.1.5.RELEASE * * *
  spring-security-core-4.1.4.RELEASE spring-security-core-4.1.5.RELEASE * * *
  spring-security-taglibs-4.1.4.RELEASE spring-security-taglibs-4.1.5.RELEASE * * *
  spring-security-web-4.1.4.RELEASE spring-security-web-4.1.5.RELEASE * * *
Spring TestContext Framework spring-test-4.3.5.RELEASE spring-test-4.3.14.RELEASE * * *
Clone this wiki locally