Migration Guide 1.0.4 - terasolunaorg/terasoluna-gfw GitHub Wiki

Migrating from 1.0.3 to 1.0.4

.. only:: html

 .. contents:: Table of contents
    :depth: 2
    :local:

Main changes in 1.0.4

Main changes in version 1.0.4 are following.

  • Updated the Spring Framework to 3.2.16
  • Updated the Apache Commons Collections to 3.2.2
  • Improved blank projects

Updated the Spring Framework to 3.2.16

From version 1.0.4, Spring Framework has been updated to 3.2.16.RELEASE to fix important bugs.

Updated the Apache Commons Collections to 3.2.2

From version 1.0.4, Apache Commons Collections has been updated to 3.2.2 to fix important bugs.

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

Improved blank projects

At version 1.0.4, the content of the following has been improved for blank projects.


Migration procedures from 1.0.3 to 1.0.4

Migration procedures are as follows.

Note

Legend

Required : This procedure is mandatory.
Required by case : This procedure is mandatory, if conditions match.
Optional : This procedure is recommended. Perform it if you feel the need.
- : This procedure is not required.

[General]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
Step Procedure MavenMultiple Projects MavenSingle Project EclipseWTP Project
Update dependency libraries Required Required Required

[Improved blank projects]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
Step Procedure MavenMultiple Projects MavenSingle Project EclipseWTP Project
Support cargo-maven2-plugin Optional Optional Optional

[Step 1] Update dependency libraries

Update TERASOLUNA Global Framework Common Library and dependency libraries.

.. tabularcolumns:: |p{0.35\linewidth}|p{0.25\linewidth}|p{0.25\linewidth}|p{0.15\linewidth}|
Library Name From version To version Remarks
TERASOLUNA Global Framework Common Library 1.0.3.RELEASE 1.0.4.RELEASE  
Spring Framework 3.2.14.RELEASE 3.2.16.RELEASE  

[Procedure's required cases]

This procedure is required.

[Step 1-1] Using Maven Multiple Projects

This update procedure is for the projects which are generated by using mvn archetype.

Update pom file in your parent project. ($YOUR_MULTIPLE_PROJECT_ROOT/pom.xml)

[Before correction]

<parent>
    <groupId>org.terasoluna.gfw</groupId>
    <artifactId>terasoluna-gfw-parent</artifactId>
    <version>1.0.3.RELEASE</version> <!-- ### Need to edit ### -->
</parent>

[After correction]

<parent>
    <groupId>org.terasoluna.gfw</groupId>
    <artifactId>terasoluna-gfw-parent</artifactId>
    <version>1.0.4.RELEASE</version> <!-- ### Need to edit ### -->
</parent>

[Step 1-2] Using Maven Single Project

This update procedure is for projects that are generated by using mvn archetype or downloaded from the release site.

Update pom file in your project. ($YOUR_SINGLE_PROJECT/pom.xml)

[Before correction]

<parent>
    <groupId>org.terasoluna.gfw</groupId>
    <artifactId>terasoluna-gfw-parent</artifactId>
    <version>1.0.3.RELEASE</version> <!-- ### Need to edit ### -->
</parent>

[After correction]

<parent>
    <groupId>org.terasoluna.gfw</groupId>
    <artifactId>terasoluna-gfw-parent</artifactId>
    <version>1.0.4.RELEASE</version> <!-- ### Need to edit ### -->
</parent>

[Step 1-3] Using Eclipse WTP Project

This update procedure is for Eclipse WTP project which is downloaded from the release site.

For update procedures, refer to Update libraries for using Eclipse WTP Project .

[Step 2] Support cargo-maven2-plugin

From version 1.0.4, added setting to use the cargo-maven2-plugin. You can use Tomcat8 in this setting.

For the information, refer to the Codehaus Cargo - Maven2 plugin .

[Procedure's required cases]

This procedure is optional. Perform next how to use, if you need.

[How to use]

Execute the following command just under $YOUR_PROJECT_ROOT .

[Multi blank project]

[Advance preparation] Create war file
$ mvn clean package
[ Run ] Run Tomcat8
$ mvn -f xxx-web/pom.xml cargo:run

[Single blank project]

[Advance preparation] Create war file
$ mvn clean package
[ Run ] Run Tomcat8
$ mvn cargo:run

Appendix for 1.0.4

Update libraries for using Eclipse WTP Project

This update procedure is for Eclipse WTP project which is downloaded from the release site.

Note

Legend

[Table Header]
Non : Blank project for none O/R Mapper
JPA : Blank project for JPA
MB2 : Blank project for MyBatis 2
[Marks]
* : target for operations

[Step 1]

Download the Eclipse WTP Project of 1.0.4.RELEASE.

[Step 2]

If Eclipse is running, stop the Eclipse.

[Step 3]

Update(delete and add) jar files in $YOUR_ECLIPSE_WTP_PROJECT/src/main/webapp/WEB-INF/lib.

.. 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}|
Library Name Delete File Add File Non JPA MB2
TERASOLUNA Global Framework Common Library terasoluna-gfw-common-1.0.3.RELEASE.jar terasoluna-gfw-common-1.0.4.RELEASE.jar * * *
  terasoluna-gfw-web-1.0.3.RELEASE.jar terasoluna-gfw-web-1.0.4.RELEASE.jar * * *
  terasoluna-gfw-security-core-1.0.3.RELEASE.jar terasoluna-gfw-security-core-1.0.4.RELEASE.jar * * *
  terasoluna-gfw-security-web-1.0.3.RELEASE.jar terasoluna-gfw-security-web-1.0.4.RELEASE.jar * * *
  terasoluna-gfw-jpa-1.0.3.RELEASE.jar terasoluna-gfw-jpa-1.0.4.RELEASE.jar   *  
  terasoluna-gfw-mybatis2-1.0.3.RELEASE.jar terasoluna-gfw-mybatis2-1.0.4.RELEASE.jar     *
Spring Framework spring-aop-3.2.14.RELEASE.jar spring-aop-3.2.16.RELEASE.jar * * *
  spring-aspects-3.2.14.RELEASE.jar spring-aspects-3.2.16.RELEASE.jar * * *
  spring-beans-3.2.14.RELEASE.jar spring-beans-3.2.16.RELEASE.jar * * *
  spring-context-3.2.14.RELEASE.jar spring-context-3.2.16.RELEASE.jar * * *
  spring-context-support-3.2.14.RELEASE.jar spring-context-support-3.2.16.RELEASE.jar * * *
  spring-core-3.2.14.RELEASE.jar spring-core-3.2.16.RELEASE.jar * * *
  spring-expression-3.2.14.RELEASE.jar spring-expression-3.2.16.RELEASE.jar * * *
  spring-jdbc-3.2.14.RELEASE.jar spring-jdbc-3.2.16.RELEASE.jar * * *
  spring-orm-3.2.14.RELEASE.jar spring-orm-3.2.16.RELEASE.jar * * *
  spring-tx-3.2.14.RELEASE.jar spring-tx-3.2.16.RELEASE.jar * * *
  spring-web-3.2.14.RELEASE.jar spring-web-3.2.16.RELEASE.jar * * *
  spring-webmvc-3.2.14.RELEASE.jar spring-webmvc-3.2.16.RELEASE.jar * * *
Commons Collections commons-collections-3.2.1.jar commons-collections-3.2.2.jar * * *

[Step 4]

Update(delete and add) jar files in $YOUR_ECLIPSE_WTP_PROJECT/testlib.

.. 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}|
Library Name Delete File Add File Non JPA MB2
Spring TestContext Framework spring-test-3.2.14.RELEASE.jar spring-test-3.2.16.RELEASE.jar * * *

[Step 5]

Update(delete and add) source jar files in $YOUR_ECLIPSE_WTP_PROJECT/libsrc.

.. 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}|
Library Name Delete File Add File Non JPA MB2
TERASOLUNA Global Framework Common Library terasoluna-gfw-common-1.0.3.RELEASE-sources.jar terasoluna-gfw-common-1.0.4.RELEASE-sources.jar * * *
  terasoluna-gfw-web-1.0.3.RELEASE-sources.jar terasoluna-gfw-web-1.0.4.RELEASE-sources.jar * * *
  terasoluna-gfw-security-core-1.0.3.RELEASE-sources.jar terasoluna-gfw-security-core-1.0.4.RELEASE-sources.jar * * *
  terasoluna-gfw-security-web-1.0.3.RELEASE-sources.jar terasoluna-gfw-security-web-1.0.4.RELEASE-sources.jar * * *
  terasoluna-gfw-jpa-1.0.3.RELEASE-sources.jar terasoluna-gfw-jpa-1.0.4.RELEASE-sources.jar   *  
  terasoluna-gfw-mybatis2-1.0.3.RELEASE-sources.jar terasoluna-gfw-mybatis2-1.0.4.RELEASE-sources.jar     *
Spring Framework spring-aop-3.2.14.RELEASE-sources.jar spring-aop-3.2.16.RELEASE-sources.jar * * *
  spring-aspects-3.2.14.RELEASE-sources.jar spring-aspects-3.2.16.RELEASE-sources.jar * * *
  spring-beans-3.2.14.RELEASE-sources.jar spring-beans-3.2.16.RELEASE-sources.jar * * *
  spring-context-3.2.14.RELEASE-sources.jar spring-context-3.2.16.RELEASE-sources.jar * * *
  spring-context-support-3.2.14.RELEASE-sources.jar spring-context-support-3.2.16.RELEASE-sources.jar * * *
  spring-core-3.2.14.RELEASE-sources.jar spring-core-3.2.16.RELEASE-sources.jar * * *
  spring-expression-3.2.14.RELEASE-sources.jar spring-expression-3.2.16.RELEASE-sources.jar * * *
  spring-jdbc-3.2.14.RELEASE-sources.jar spring-jdbc-3.2.16.RELEASE-sources.jar * * *
  spring-orm-3.2.14.RELEASE-sources.jar spring-orm-3.2.16.RELEASE-sources.jar * * *
  spring-tx-3.2.14.RELEASE-sources.jar spring-tx-3.2.16.RELEASE-sources.jar * * *
  spring-web-3.2.14.RELEASE-sources.jar spring-web-3.2.16.RELEASE-sources.jar * * *
  spring-webmvc-3.2.14.RELEASE-sources.jar spring-webmvc-3.2.16.RELEASE-sources.jar * * *
Commons Collections commons-collections-3.2.1-sources.jar commons-collections-3.2.2-sources.jar * * *
Spring TestContext Framework spring-test-3.2.14.RELEASE-sources.jar spring-test-3.2.16.RELEASE-sources.jar * * *

[Step 6]

Update the referenced libraries in all of the following files, using replace string.

  • $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}|
Library Name Before After Non JPA MB2
TERASOLUNA Global Framework Common Library terasoluna-gfw-common-1.0.3.RELEASE terasoluna-gfw-common-1.0.4.RELEASE * * *
  terasoluna-gfw-web-1.0.3.RELEASE terasoluna-gfw-web-1.0.4.RELEASE * * *
  terasoluna-gfw-security-core-1.0.3.RELEASE terasoluna-gfw-security-core-1.0.4.RELEASE * * *
  terasoluna-gfw-security-web-1.0.3.RELEASE terasoluna-gfw-security-web-1.0.4.RELEASE * * *
  terasoluna-gfw-jpa-1.0.3.RELEASE terasoluna-gfw-jpa-1.0.4.RELEASE   *  
  terasoluna-gfw-mybatis2-1.0.3.RELEASE terasoluna-gfw-mybatis2-1.0.4.RELEASE     *
Spring Framework spring-aop-3.2.14.RELEASE spring-aop-3.2.16.RELEASE * * *
  spring-aspects-3.2.14.RELEASE spring-aspects-3.2.16.RELEASE * * *
  spring-beans-3.2.14.RELEASE spring-beans-3.2.16.RELEASE * * *
  spring-context-3.2.14.RELEASE spring-context-3.2.16.RELEASE * * *
  spring-context-support-3.2.14.RELEASE spring-context-support-3.2.16.RELEASE * * *
  spring-core-3.2.14.RELEASE spring-core-3.2.16.RELEASE * * *
  spring-expression-3.2.14.RELEASE spring-expression-3.2.16.RELEASE * * *
  spring-jdbc-3.2.14.RELEASE spring-jdbc-3.2.16.RELEASE * * *
  spring-orm-3.2.14.RELEASE spring-orm-3.2.16.RELEASE * * *
  spring-tx-3.2.14.RELEASE spring-tx-3.2.16.RELEASE * * *
  spring-web-3.2.14.RELEASE spring-web-3.2.16.RELEASE * * *
  spring-webmvc-3.2.14.RELEASE spring-webmvc-3.2.16.RELEASE * * *
Commons Collections commons-collections-3.2.1 commons-collections-3.2.2 * * *
Spring TestContext Framework spring-test-3.2.14.RELEASE spring-test-3.2.16.RELEASE * * *
⚠️ **GitHub.com Fallback** ⚠️