Migration Guide 5.3.0_en - terasolunaorg/terasoluna-gfw GitHub Wiki

Migration guideline from 5.2.0 to 5.3.0

.. only:: html

 .. contents:: Index
    :depth: 2
    :local:

Major changes in 5.3.0

Major changes in 5.3.0 are as follows.

  • Migrate to Maven Central repository
  • Update Spring Framework to 4.3
  • Update Spring Security to 4.1
  • Update Spring IO Platform to Athens
  • Update MyBatis to 3.4
  • Update Hibernate ORM to 5.0
  • Changes in some of the specifications of common library
  • Blank project changed

Migrate to Maven Central repository

Remote repository was migrated from 5.3.0 to Maven Central repository.

  • [#664] Modify pom.xml related to "Maven Central" migration

Update Spring Framework to 4.3

5.3.0 was updated to Spring Framework 4.3.5.RELEASE.

UpdatedSpring Security to 4.1

5.3.0 was updated to Spring Security 4.1.4.RELEASE.

Update Spring IO Platform to Athens

Spring IO Platform was updated from 5.3.0 to Athens-SR2.

Update MyBatis to 3.4

5.3.0 was updated to MyBatis 3.4.2. In accordance with this update, MyBatis Spring was updated to 1.3.0.

Update Hibernate ORM to 5.0

5.3.0 was updated to Hibernate ORM 5.0.11.

Changes in some of the specifications of common library

Some of the specifications of common library were changed from 5.3.0, in accordance with the bug fixing.

  • [#634] @Compare don't display error message for left property in certain cases

Changes the blank project

Some of the configuration files of blank project were changed from 5.3.0.

Changes as per the migration to Maven Central repository

Changes as per version-up of Spring IO Platform

Changes as per version-up of Spring Framework

  • [single#270] [multi#304] Exclude NestedServletException from handling target of SystemExceptionResolver

Changes as per version-up of MyBatis

  • [single#261] [multi#295] Since Mybatis 3.4.2, setting of aggressiveLazyLoading = false becomes unnecessary

Other changes

  • [single#259] [multi#293] Using DataSourceTransactionManager may be committed on error of commit phase

Procedure for migration from 5.2.0 to 5.3.0

Migration procedure is as follows.

Note

Notes

Required : Applying the procedure is mandatory
Required by case : Applying the procedure is mandatory under certain conditions
Optional : Applying the procedure is recommended (Procedure to be implemented when required)
- : Applying the procedure is not necessary

[Overall]

.. 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
Change pom.xml as per the migration to Maven Central Required Required Required
Update dependent library Required Required Required
Add the dependent library settings of Selenium Required by case 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}|
Step Procedure MavenMultiple Projects MavenSingle Project EclipseWTP Project
Update settings of rollbackOnCommitFailure option Required by case Required by case Required by case
Avoid binding of request parameters while fetching the session scope objects 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}|
Step Procedure MavenMultiple Projects MavenSingle Project EclipseWTP Project
Modify in accordance with the differentiation of uppercase and lowercase characters in request matching of AntPathRequestMatcher. Required by case Required by case Required by case

[Spring MVC]

.. 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
Modify as per the change in method of handling fatal errors Required Required Required
Modify as per the change in <mvc:view-controller> specifications Required by case Required by case Required by case
Modify as per the change in binding value while sending empty checkbox 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}|
Step Procedure MavenMultiple Projects MavenSingle Project EclipseWTP Project
Modify as per the change in default value of aggressiveLazyLoading Required by case Required by case Required by case
Modify as per the addition of TypeHandler for BLOB/CLOB Optional Optional Optional
Delete the settings of TypeHandler of JSR-310 Optional Optional Optional

[Hibernate ORM]

.. 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
Fix the bug that nowait clause is not added while using PostgreSQL Required by case Required by case Required by case

[Step 1] Change pom.xml as per the migration of Maven Central

pom.xml settings are changed as per the migration to Maven Central repository

[When procedure is required]

Application of this procedure is mandatory.

[Modification method]

  • ($YOUR_SINGLE_PROJECT_ROOT/pom.xml)
  • ($YOUR_MULTIPLE_PROJECT_ROOT/pom.xml)
  • ($YOUR_ECLIPSE_WTP_PROJECT_ROOT/pom.xml)

Delete the settings of terasoluna-gfw-releases and terasoluna-gfw-snapshots.

<repositories>
    <!-- omitted -->
    <!-- ### Deletion part From here ### -->
    <repository>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <id>terasoluna-gfw-releases</id>
        <url>http://repo.terasoluna.org/nexus/content/repositories/terasoluna-gfw-releases/</url>
    </repository>
    <!-- ### Deletion part Till here ### -->
    <!-- omitted -->
    <!-- ### Deletion part From here ### -->
    <repository>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <id>terasoluna-gfw-snapshots</id>
        <url>http://repo.terasoluna.org/nexus/content/repositories/terasoluna-gfw-snapshots/</url>
    </repository>
    <!-- ### Deletion part Till here ### -->
    <!-- omitted -->
</repositories>

Add the settings, when library of SNAPSHOT version is to be used. (Setting example of sonatype-nexus-snapshots is given below).

<repositories>
    <!-- omitted -->
    <!-- ### Addition part From here ### -->
    <repository>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <id>sonatype-nexus-snapshots</id>
        <name>Sonatype Nexus Snapshots</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </repository>
    <!-- ### Addition part Till here ### -->
    <!-- omitted -->
</repositories>

[Step 2] Update dependent library

Update common library and dependent library of TERASOLUNA Server Framework for Java (5.x).

.. tabularcolumns:: |p{0.35\linewidth}|p{0.25\linewidth}|p{0.25\linewidth}|p{0.15\linewidth}|
Library name Version before update Version after update Remarks
TERASOLUNA Server Framework for Java (5.x) Common Library 5.2.0.RELEASE 5.3.0.RELEASE  
Spring Framework 4.2.7.RELEASE 4.3.5.RELEASE  
Spring Security 4.0.4.RELEASE 4.1.4.RELEASE  
Hibernate ORM 4.3.11.Final 5.0.11.Final  
Hibernate Commons Annotations 4.0.5.Final 5.0.1.Final  
Javassist 3.18.1-GA 3.20.0-GA  
Java Annotation Indexer 1.1.0.Final 2.0.0.Final  
Spring Data JPA 1.9.4.RELEASE 1.10.6.RELEASE  
Logback 1.1.7 1.1.8  
SLF4J 1.7.21 1.7.22  
Jackson 2.6.7 2.8.5  
Jackson DataType JSR-310 2.6.7 2.8.5  
Apache Commons BeanUtils 1.9.2 1.9.3  
Apache Commons Lang 3.3.2 3.4  
Joda Time 2.8.2 2.9.6  
Jadira Usertype 3.2.0.GA 5.0.0.GA  
Tiles 3.0.5 3.0.7  
Tiles Autotag Core 1.1.0 1.2  
commons-io 2.4 2.5  
classmate 1.1.0 1.3.3  
geronimo - 1.1.1 Added
MyBatis3 3.3.1 3.4.2 h
MyBatis3 Spring 1.2.5 1.3.1  
Mybatis TypeHandlers JSR-310 1.0.1 1.0.2  

[When procedure is required]

Application of this procedure is mandatory.

[Step 2-1] When Maven Multiple Projects are being used

This update procedure is for the project created by using mvn archetype.

Modify the version of pom file of parent project to 5.3.0.RELEASE.

  • ($YOUR_MULTIPLE_PROJECT_ROOT/pom.xml)
<!-- omitted -->
<parent>
    <groupId>org.terasoluna.gfw</groupId>
    <artifactId>terasoluna-gfw-parent</artifactId>
    <version>5.3.0.RELEASE</version>                    <!-- ### Modification part ### -->
</parent>
<!-- omitted -->

[Step 2-2] When Maven Single Project is being used

This update procedure is for the project created by using mvn archetype, or for the project downloaded from release site.

Change the version of pom file of project to 5.3.0.RELEASE.

  • ($YOUR_SINGLE_PROJECT/pom.xml)
<!-- omitted -->
<parent>
    <groupId>org.terasoluna.gfw</groupId>
    <artifactId>terasoluna-gfw-parent</artifactId>
    <version>5.3.0.RELEASE</version>                    <!-- ### Modification part ### -->
</parent>
<!-- omitted -->

[Step 2-3] When Eclipse WTP Project is being used

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

Refer to [Update library while using Eclipse WTP Project] for the update procedure.

[Step 3] Add the dependent library settings of Selenium

Selenium related artifacts are added to version control from Spring IO Platform Athens and version 2.53.1 is specified in Athens - SR2.

Since the dependency on selenium-java 2.46.0 is set in blank project of 5.2.0, versions of Selenium related Artifacts may co-exist if the application created from blank project of 5.2.0 is updated to 5.3.0.

[When procedure is required]

When the version other than 2.53.1 is specified in Selenium related artifacts, it needs to be modified. Modification example is given below for matching the settings with the blank project.

[Modification method]

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

Add the following settings.

<!-- omitted -->
<dependency>
   <groupId>org.seleniumhq.selenium</groupId>
   <artifactId>selenium-chrome-driver</artifactId>
   <version>${selenium.version}</version>
</dependency>
<dependency>
   <groupId>org.seleniumhq.selenium</groupId>
   <artifactId>selenium-remote-driver</artifactId>
   <version>${selenium.version}</version>
</dependency>
<dependency>
   <groupId>org.seleniumhq.selenium</groupId>
   <artifactId>selenium-api</artifactId>
   <version>${selenium.version}</version>
</dependency>
<dependency>
   <groupId>org.seleniumhq.selenium</groupId>
   <artifactId>selenium-firefox-driver</artifactId>
   <version>${selenium.version}</version>
</dependency>
<dependency>
   <groupId>org.seleniumhq.selenium</groupId>
   <artifactId>selenium-ie-driver</artifactId>
   <version>${selenium.version}</version>
</dependency>
<dependency>
   <groupId>org.seleniumhq.selenium</groupId>
   <artifactId>selenium-safari-driver</artifactId>
   <version>${selenium.version}</version>
</dependency>
<dependency>
   <groupId>org.seleniumhq.selenium</groupId>
   <artifactId>selenium-support</artifactId>
   <version>${selenium.version}</version>
</dependency>
<!-- omitted -->

[Remarks]

2.46.0 may not work depending on Firefox version. Select the Selenium version to be used according to the browser version supported by project.

[Step 4] Update the settings of rollbackOnCommitFailure option

When error occurs in the commit phase while using DataSourceTransactionManager, it is likely to be committed in case of default settings.

[When procedure is required]

Application of this procedure is required when DataSourceTransactionManager is being used.

[Modification method]

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

rollbackOnCommitFailure property must be changed to true.

<bean id="transactionManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource" />
    <property name="rollbackOnCommitFailure" value="true" />    <!-- ### Addition part ### -->
</bean>

[Step 5] Avoid binding of request parameters while fetching the objects of session scope.

When object is received as an argument of handler method, the request parameter is likely to be bound to that argument. In case of version before Spring Framework 4.2, binding was prevented by fetching from Model type argument, however it can be specified whether the request parameter is bound in argument by adding binding attribute into @ Model Attribute annotation in the Spring Framework 4.3.

[When procedure is required]

Application of this procedure is optional. Make the following modifications whenever required.

[Modification method]

Binding of request parameters can be avoided and objects stored in session scope can be obtained with type-safety by specifying false in binding attribute of @ ModelAttribute annotation assigned in the argument.

Example)

@RequestMapping(value = "save", method = RequestMethod.POST)
public String save(@Validated({ Wizard1.class, Wizard2.class,
        Wizard3.class }) WizardForm form,
        BindingResult result,
        @ModelAttribute(binding = false) Entity entity,  // Setting part
        RedirectAttributes redirectAttributes) {
    // ...
    return "redirect:/wizard/save?complete";
}

[Step 6] Modify in accordance with the differentiation of uppercase and lowercase characters in request matching of AntPathRequestMatcher.

In Spring Security 4.1, the path matching specifications of AntPathRequestMatcher in which Spring Security is being used by default are case-sensitive.

[When procedure is required]

Application of this procedure is required when uppercase and lowercase characters of the path pattern described in @RequestMapping of Controller and the path pattern described in <sec:intercept-url> of spring-security.xml do not match.

Example showing that application of procedure is required)

@RequestMapping(value="/Todo/List")
   public String viewTodoList(){
   //...
}
<sec:http>
    <sec:intercept-url pattern="/todo/list" access="isAuthenticated()" />  <!-- ### Path pattern has lowercase characters ### -->
    <!-- omitted -->
</sec:http>

[Modification method]

When access policy is defined for the endpoint of Spring MVC, uppercase and lowercase characters such as /Todo/List and /Todo/* should be arranged for the values specified in pattern attribute of <sec:intercept-url> tag.

  • ($YOUR_MULTIPLE_PROJECT_ROOT/projectName-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>
    <sec:intercept-url pattern="/Todo/List" access="isAuthenticated()" />  <!-- ### Modification part ### -->
    <!-- omitted -->
</sec:http>

[Remarks]

When specification of wildcards such as * and ** is not included in pattern attribute, add the access policy for the pattern with an extension and for the pattern with / at the end of request path.

Setting example given below shows that only access from users with "ROLE_ADMIN" role of Todo/List is allowed.

<sec:http>
    <sec:intercept-url pattern="/Todo/List.*" access="hasRole('ADMIN')" />
    <sec:intercept-url pattern="/Todo/List/" access="hasRole('ADMIN')" />
    <sec:intercept-url pattern="/Todo/List" access="hasRole('ADMIN')" />
    <!-- omitted -->
</sec:http>

[Step 7] Modify in accordance with the change in handling method of fatal errors

In Spring Framework 4.3, Exception handler of (HandlerExceptionResolver) of Spring MVC captures the org.springframework.web.util.NestedServletException where fatal errors (java.lang.Errorand its subclass), and java.lang.Throwable are wrapped. In accordance with this change, fatal errors may be handled unintentionally and it may not be notified to servlet container.

[When procedure is required]

Application of this procedure is mandatory, when fatal error needs to be notified to servlet container.

[Modification method]

  • ($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)

Specify NestedServletException in the excludedExceptions property of SystemExceptionResolver , in order to avoid handling of NestedServletException.

<bean id="systemExceptionResolver"
    class="org.terasoluna.gfw.web.exception.SystemExceptionResolver">
    <!-- omitted -->
    <property name="excludedExceptions">
        <array>
            <value>org.springframework.web.util.NestedServletException</value>  <!-- ### Addition part ### -->
        </array>
    </property>
    <!-- omitted -->
</bean>

When the super class of NestedServletException such as java.lang.Exception is handled by @ ExceptionHandler , in such case, NestedServletException is handled unintentionally, hence implement the ExceptionHandler method to be thrown again by handling NestedServletException .

@ExceptionHandler(NestedServletException.class)
public void handleNestedServletException(NestedServletException e) throws NestedServletException {
    throw e;
}

[Step 8] Modify, in accordance with the change in <mvc:view-controller> specifications

In Spring Framework 4.3, it was not possible to access by the method of update system such as POST, in the path defined by <mvc:view-controller>.

[When procedure is required]

When the pages accessed by method of update system such as POST and the HTTP method of forward source cannot be restricted (such as transition to error page), modify this in order to implement Controller instead of <mvc: view - controller>.

[Modification method]

When <mvc:view-controller> is being used, replace with Controller class.

Example)

[Before modification]

<!-- omitted -->
<mvc:view-controller path="/login" view-name="login/form" />   <!-- ### Deletion part ### -->
<!-- omitted -->

[After modification]

Implement Controllerclass.

@Controller
@RequestMapping("/login")
public class LoginController {

   @RequestMapping
   public String loginForm() {
       return "login/form";
   }

}

Delete <mvc:view-controller> line of the created Controller class from spring-mvc.xml.

[Step 9] Modify, as per the change in binding value while sending empty checkbox.

When checkbox was sent empty as it is in Spring Framework 4.3, Collection object with empty element was bound instead of null .

[When procedure is required]

Application of this procedure is mandatory when the mandatory check of checkbox items is performed based on whether it is null.

[Modification method]

Change mandatory check of checkbox items in order to use @Size and @NotEmpty instead of @NotNull.

Example)

[Before modification]

public class SampleForm {
    @NotNull
    private List<String> list;
    // ...
}

[After modification]

public class SampleForm {
    @NotEmpty // Modification part
    private List<String> list;
    // ...
}

[Step 10] Modify, in accordance with the change in default value of aggressiveLazyLoading

In MyBatis 3.4.2, the default value of aggressiveLazyLoading has been changed to false which is recommended by the guidelines.

[When procedure is required]

Make the following modifications, depending on whether it is an application for which default value (true) of aggressiveLazyLoading before MyBatis 3.4.1 is assumed.

[Modification method]

  • ($YOUR_MULTIPLE_PROJECT_ROOT/projectName-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)

[When setting of aggressiveLazyLoading is omitted (When default value true is applied)]

Set the value of aggressiveLazyLoading to true .

<settings>
    <setting name="aggressiveLazyLoading" value="true"/>  <!-- ### Update part ### -->
</settings>

[When false is being set in aggressiveLazyLoading]

Following settings can be deleted. (Application of this procedure is mandatory).

<settings>
    <setting name="aggressiveLazyLoading" value="false"/>  <!-- ### Deletion part ### -->
</settings>

[Step 11] Modify, in accordance with the addition of TypeHandler for BLOB/CLOB

In MyBatis 3.4, type handlers for converting BLOB �� InputStream and CLOB �� Reader are valid by default, in case of JDBC driver with JDBC 4.0 support.

[When procedure is required]

Application of this procedure is mandatory. Make the following modifications, when TypeHandler is implemented independently and when the requirements are satisfied with TypeHandler provided by MyBatis.

[Modification method]

  • ($YOUR_MULTIPLE_PROJECT_ROOT/projectName-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)

Delete the settings of independently implemented TypeHandler.

Example)

<typeHandlers>
    <!-- omitted -->
    <typeHandler handler="xxx.yyy.zzz.CustomTypeHandler" /> <!-- ### Deletion part ### -->
    <!-- omitted -->
</typeHandlers>

[Step 12] Delete the TypeHandler settings of JSR-310

Since the TypeHandler for JSR-310 is registered automatically in MyBatis 3.4, the settings of TypeHandler of JSR-310 are not required.

[When procedure is required]

Application of this procedure is optional. Modify as given below whenever required.

[Modification part]

  • ($YOUR_MULTIPLE_PROJECT_ROOT/projectName-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)
<typeHandlers>
    <!-- omitted -->
    <!-- ### Deletion part From here ### -->
    <typeHandler handler="org.apache.ibatis.type.InstantTypeHandler" />
    <typeHandler handler="org.apache.ibatis.type.LocalDateTimeTypeHandler" />
    <typeHandler handler="org.apache.ibatis.type.LocalDateTypeHandler" />
    <typeHandler handler="org.apache.ibatis.type.LocalTimeTypeHandler" />
    <typeHandler handler="org.apache.ibatis.type.OffsetDateTimeTypeHandler" />
    <typeHandler handler="org.apache.ibatis.type.OffsetTimeTypeHandler" />
    <typeHandler handler="org.apache.ibatis.type.ZonedDateTimeTypeHandler" />
    <typeHandler handler="org.apache.ibatis.type.YearTypeHandler" />
    <typeHandler handler="org.apache.ibatis.type.MonthTypeHandler" />
    <!-- ### Deletion part Till here ### -->
    <!-- omitted -->
</typeHandlers>

[Step 13] Handling the defect that nowait clause is not added while using PostgreSQL from JPA (Hibernate ORM)

In Hibernate ORM 5.0.X, nowait clause may not be added in the SQL to be issued, even if the settings are done in order to use nowait in PostgreSQL (HHH-10797).

[When procedure is required]

As given in the following example, when the pessimistic lock specifying 0 in timeout is set in order to issue nowait clause for PostgreSQL from JPA (Hibernate ORM) and when JPQL is being used, review the measures etc. described in [Modification method].

@Lock(LockModeType.PESSIMISTIC_WRITE)
@QueryHints(@QueryHint(name = "javax.persistence.lock.timeout", value = "0"))
@Query("SELECT t FROM Todo t WHERE t.id = :id")
Todo findOneForUpdate(@Param("id") Integer id);

[Modification method]

Review the following measures and determine the necessity of handling the project status and its handling method.

  • Apply and then use the patch to Dialect class provided by Hibernate ORM
  • Upgrade the version to Hibernate ORM 5.2.1 or above

Appendix for 5.3.0

Update library for using Eclipse WTP Project

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

Note

Notes

[Table header]
Non : Blank project which is not dependent on O/R Mapper
MB3 : Blank project for MyBatis3
JPA : Blank project for JPA
[Remarks column]
* : Operation target

[Step 1]

Download Eclipse WTP Project of 5.3.0.RELEASE .

[Step 2]

Terminate Eclipse, if it is activated.

[Step 3]

Update jar file (Delete and then add) of $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 MB3 JPA
TERASOLUNA Server Framework for Java (5.x) Common Library terasoluna-gfw-common-5.2.0.RELEASE.jar terasoluna-gfw-common-5.3.0.RELEASE.jar * * *
  terasoluna-gfw-jodatime-5.2.0.RELEASE.jar terasoluna-gfw-jodatime-5.3.0.RELEASE.jar * * *
  terasoluna-gfw-security-web-5.2.0.RELEASE.jar terasoluna-gfw-security-web-5.3.0.RELEASE.jar * * *
  terasoluna-gfw-web-5.2.0.RELEASE.jar terasoluna-gfw-web-5.3.0.RELEASE.jar * * *
  terasoluna-gfw-web-jsp-5.2.0.RELEASE.jar terasoluna-gfw-web-jsp-5.3.0.RELEASE.jar * * *
Spring Framework spring-aop-4.2.7.RELEASE.jar spring-aop-4.3.5.RELEASE.jar * * *
  spring-aspects-4.2.7.RELEASE.jar spring-aspects-4.3.5.RELEASE.jar * * *
  spring-beans-4.2.7.RELEASE.jar spring-beans-4.3.5.RELEASE.jar * * *
  spring-context-4.2.7.RELEASE.jar spring-context-4.3.5.RELEASE.jar * * *
  spring-context-support-4.2.7.RELEASE.jar spring-context-support-4.3.5.RELEASE.jar * * *
  spring-core-4.2.7.RELEASE.jar spring-core-4.3.5.RELEASE.jar * * *
  spring-expression-4.2.7.RELEASE.jar spring-expression-4.3.5.RELEASE.jar * * *
  spring-jdbc-4.2.7.RELEASE.jar spring-jdbc-4.3.5.RELEASE.jar * * *
  spring-orm-4.2.7.RELEASE.jar spring-orm-4.3.5.RELEASE.jar * * *
  spring-tx-4.2.7.RELEASE.jar spring-tx-4.3.5.RELEASE.jar * * *
  spring-web-4.2.7.RELEASE.jar spring-web-4.3.5.RELEASE.jar * * *
  spring-webmvc-4.2.7.RELEASE.jar spring-webmvc-4.3.5.RELEASE.jar * * *
Spring Data Commons spring-data-commons-1.11.4.RELEASE.jar spring-data-commons-1.12.6.RELEASE.jar * * *
Spring Data JPA spring-data-jpa-1.9.4.RELEASE.jar spring-data-jpa-1.10.6.RELEASE.jar *
Spring Security spring-security-acl-4.0.4.RELEASE.jar spring-security-acl-4.1.4.RELEASE.jar * * *
  spring-security-config-4.0.4.RELEASE.jar spring-security-config-4.1.4.RELEASE.jar * * *
  spring-security-core-4.0.4.RELEASE.jar spring-security-core-4.1.4.RELEASE.jar * * *
  spring-security-taglibs-4.0.4.RELEASE.jar spring-security-taglibs-4.1.4.RELEASE.jar * * *
  spring-security-web-4.0.4.RELEASE.jar spring-security-web-4.1.4.RELEASE.jar * * *
Jackson jackson-annotations-2.6.7.jar jackson-annotations-2.8.5.jar * * *
  jackson-core-2.6.7.jar jackson-core-2.8.5.jar * * *
  jackson-databind-2.6.7.jar jackson-databind-2.8.5.jar * * *
  jackson-datatype-joda-2.6.7.jar jackson-datatype-joda-2.8.5.jar * * *
  jackson-datatype-jsr310-2.6.7.jar jackson-datatype-jsr310-2.8.5.jar * * *
SLF4J jcl-over-slf4j-1.7.21.jar jcl-over-slf4j-1.7.22.jar * * *
  slf4j-api-1.7.21.jar slf4j-api-1.7.22.jar * * *
Logback logback-classic-1.1.7.jar logback-classic-1.1.8.jar * * *
  logback-core-1.1.7.jar logback-core-1.1.8.jar * * *
Tomcat tomcat-el-api-8.0.36.jar tomcat-el-api-8.5.6.jar * * *
  tomcat-jsp-api-8.0.36.jar tomcat-jsp-api-8.5.6.jar * * *
  tomcat-servlet-api-8.0.36.jar tomcat-servlet-api-8.5.6.jar * * *
MyBatis mybatis-3.3.1.jar mybatis-3.4.2.jar *
  mybatis-spring-1.2.5.jar mybatis-spring-1.3.1.jar *
  mybatis-typehandlers-jsr310-1.0.1.jar mybatis-typehandlers-jsr310-1.0.2.jar *
Hibernate hibernate-commons-annotations-4.0.5.Final.jar hibernate-commons-annotations-5.0.1.Final.jar *
  hibernate-core-4.3.11.Final.jar hibernate-core-5.0.11.Final.jar *
  hibernate-entitymanager-4.3.11.Final.jar hibernate-entitymanager-5.0.11.Final.jar *
  javassist-3.18.1-GA.jar javassist-3.20.0-GA.jar *
  jandex-1.1.0.Final.jar jandex-2.0.0.Final.jar *
Tiles tiles-api-3.0.5.jar tiles-api-3.0.7.jar * * *
  tiles-core-3.0.5.jar tiles-core-3.0.7.jar * * *
  tiles-jsp-3.0.5.jar tiles-jsp-3.0.7.jar * * *
  tiles-servlet-3.0.5.jar tiles-servlet-3.0.7.jar * * *
  tiles-template-3.0.5.jar tiles-template-3.0.7.jar * * *
Tiles Autotag Core tiles-autotag-core-runtime-1.1.0.jar tiles-autotag-core-runtime-1.2.jar * * *
Joda Time joda-time-2.8.2.jar joda-time-2.9.6.jar * * *
Classmate classmate-1.1.0.jar classmate-1.3.3.jar * * *
Apache Commons BeanUtils commons-beanutils-1.9.2.jar commons-beanutils-1.9.3.jar * * *
Apache Commons IO commons-io-2.4.jar commons-io-2.5.jar * * *
Apache Commons Lang commons-lang3-3.3.2.jar commons-lang3-3.4.jar * * *
Apache Geronimo   geronimo-jta_1.1_spec-1.1.1.jar *
Jboss Logging 3 jboss-logging-annotations-1.2.0.Final.jar   *
Java Transaction API 1.2 jboss-transaction-api_1.2_spec-1.0.0.Final.jar   *
Jadira Usertype usertype.core-3.2.0.GA.jar usertype.core-5.0.0.GA.jar *
  usertype.spi-3.2.0.GA.jar usertype.spi-5.0.0.GA.jar *

[Step 4]

Update jar file (delete and then add) of $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 MB3 JPA
Spring TestContext Framework spring-test-4.2.7.RELEASE.jar spring-test-4.3.5.RELEASE.jar * * *
Tomcat Embed El tomcat-embed-el-8.0.36.jar tomcat-embed-el-8.5.6.jar * * *
CSS Parser cssparser-0.9.16.jar cssparser-0.9.18.jar * * *
Gson gson-2.3.1.jar gson-2.7.jar * * *
Html Unit htmlunit-2.18.jar htmlunit-2.21.jar * * *
Jetty jetty-io-9.2.17.v20160517.jar jetty-io-9.3.14.v20161028.jar * * *
  jetty-util-9.2.17.v20160517.jar jetty-util-9.3.14.v20161028.jar * * *
JNA jna-4.1.0.jar jna-4.2.2.jar * * *
nekoHTML nekohtml-1.9.22.jar neko-htmlunit-2.21.jar * * *
Webbit websocket-api-9.2.17.v20160517.jar websocket-api-9.3.14.v20161028.jar * * *
  websocket-client-9.2.17.v20160517.jar websocket-client-9.3.14.v20161028.jar * * *
  websocket-common-9.2.17.v20160517.jar websocket-common-9.3.14.v20161028.jar * * *
Apache Commons Logging commons-logging-1.2.jar   * * *
Hamcrest   hamcrest-library-1.3.jar * * *
Objenesis objenesis-2.1.jar objenesis-2.4.jar * * *
H2 Database Engine h2-1.4.192.jar h2-1.4.193.jar * *

[Step 5]

Update jar file (Delete and then add) for storing sources of $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 MB3 JPA
TERASOLUNA Server Framework for Java (5.x) Common Library terasoluna-gfw-common-5.2.0.RELEASE-sources.jar terasoluna-gfw-common-5.3.0.RELEASE-sources.jar * * *
  terasoluna-gfw-jodatime-5.2.0.RELEASE-sources.jar terasoluna-gfw-jodatime-5.3.0.RELEASE-sources.jar * * *
  terasoluna-gfw-security-web-5.2.0.RELEASE-sources.jar terasoluna-gfw-security-web-5.3.0.RELEASE-sources.jar * * *
  terasoluna-gfw-web-5.2.0.RELEASE-sources.jar terasoluna-gfw-web-5.3.0.RELEASE-sources.jar * * *
  terasoluna-gfw-web-jsp-5.2.0.RELEASE-sources.jar terasoluna-gfw-web-jsp-5.3.0.RELEASE-sources.jar * * *
Spring Framework spring-aop-4.2.7.RELEASE-sources.jar spring-aop-4.3.5.RELEASE-sources.jar * * *
  spring-aspects-4.2.7.RELEASE-sources.jar spring-aspects-4.3.5.RELEASE-sources.jar * * *
  spring-beans-4.2.7.RELEASE-sources.jar spring-beans-4.3.5.RELEASE-sources.jar * * *
  spring-context-4.2.7.RELEASE-sources.jar spring-context-4.3.5.RELEASE-sources.jar * * *
  spring-context-support-4.2.7.RELEASE-sources.jar spring-context-support-4.3.5.RELEASE-sources.jar * * *
  spring-core-4.2.7.RELEASE-sources.jar spring-core-4.3.5.RELEASE-sources.jar * * *
  spring-expression-4.2.7.RELEASE-sources.jar spring-expression-4.3.5.RELEASE-sources.jar * * *
  spring-jdbc-4.2.7.RELEASE-sources.jar spring-jdbc-4.3.5.RELEASE-sources.jar * * *
  spring-orm-4.2.7.RELEASE-sources.jar spring-orm-4.3.5.RELEASE-sources.jar * * *
  spring-tx-4.2.7.RELEASE-sources.jar spring-tx-4.3.5.RELEASE-sources.jar * * *
  spring-web-4.2.7.RELEASE-sources.jar spring-web-4.3.5.RELEASE-sources.jar * * *
  spring-webmvc-4.2.7.RELEASE-sources.jar spring-webmvc-4.3.5.RELEASE-sources.jar * * *
Spring Data Commons spring-data-commons-1.11.4.RELEASE-sources.jar spring-data-commons-1.12.6.RELEASE-sources.jar * * *
Spring Data JPA spring-data-jpa-1.9.4.RELEASE-sources.jar spring-data-jpa-1.10.6.RELEASE-sources.jar *
Spring Security spring-security-acl-4.0.4.RELEASE-sources.jar spring-security-acl-4.1.4.RELEASE-sources.jar * * *
  spring-security-config-4.0.4.RELEASE-sources.jar spring-security-config-4.1.4.RELEASE-sources.jar * * *
  spring-security-core-4.0.4.RELEASE-sources.jar spring-security-core-4.1.4.RELEASE-sources.jar * * *
  spring-security-taglibs-4.0.4.RELEASE-sources.jar spring-security-taglibs-4.1.4.RELEASE-sources.jar * * *
  spring-security-web-4.0.4.RELEASE-sources.jar spring-security-web-4.1.4.RELEASE-sources.jar * * *
Spring TestContext Framework spring-test-4.2.7.RELEASE-sources.jar spring-test-4.3.5.RELEASE-sources.jar * * *
Jackson jackson-annotations-2.6.7-sources.jar jackson-annotations-2.8.5-sources.jar * * *
  jackson-core-2.6.7-sources.jar jackson-core-2.8.5-sources.jar * * *
  jackson-databind-2.6.7-sources.jar jackson-databind-2.8.5-sources.jar * * *
  jackson-datatype-joda-2.6.7-sources.jar jackson-datatype-joda-2.8.5-sources.jar * * *
  jackson-datatype-jsr310-2.6.7-sources.jar jackson-datatype-jsr310-2.8.5-sources.jar * * *
CSS Parser cssparser-0.9.16-sources.jar cssparser-0.9.18-sources.jar * * *
Gson gson-2.3.1-sources.jar gson-2.7-sources.jar * * *
HtmlUnit htmlunit-2.18-sources.jar htmlunit-2.21-sources.jar * * *
SLF4J jcl-over-slf4j-1.7.21-sources.jar jcl-over-slf4j-1.7.22-sources.jar * * *
  slf4j-api-1.7.21-sources.jar slf4j-api-1.7.22-sources.jar * * *
Jetty jetty-io-9.2.17.v20160517-sources.jar jetty-io-9.3.14.v20161028-sources.jar * * *
  jetty-util-9.2.17.v20160517-sources.jar jetty-util-9.3.14.v20161028-sources.jar * * *
JNA jna-4.1.0-sources.jar jna-4.2.2-sources.jar * * *
Logback logback-classic-1.1.7-sources.jar logback-classic-1.1.8-sources.jar * * *
  logback-core-1.1.7-sources.jar logback-core-1.1.8-sources.jar * * *
nekoHTML nekohtml-1.9.22-sources.jar neko-htmlunit-2.21-sources.jar * * *
Tomcat tomcat-el-api-8.0.36-sources.jar tomcat-el-api-8.5.6-sources.jar * * *
  tomcat-embed-el-8.0.36-sources.jar tomcat-embed-el-8.5.6-sources.jar * * *
  tomcat-jsp-api-8.0.36-sources.jar tomcat-jsp-api-8.5.6-sources.jar * * *
  tomcat-servlet-api-8.0.36-sources.jar tomcat-servlet-api-8.5.6-sources.jar * * *
WebSocket websocket-api-9.2.17.v20160517-sources.jar websocket-api-9.3.14.v20161028-sources.jar * * *
  websocket-client-9.2.17.v20160517-sources.jar websocket-client-9.3.14.v20161028-sources.jar * * *
  websocket-common-9.2.17.v20160517-sources.jar websocket-common-9.3.14.v20161028-sources.jar * * *
MyBatis mybatis-3.3.1-sources.jar mybatis-3.4.2-sources.jar *
  mybatis-spring-1.2.5-sources.jar mybatis-spring-1.3.1-sources.jar *
  mybatis-typehandlers-jsr310-1.0.1-sources.jar mybatis-typehandlers-jsr310-1.0.2-sources.jar *
Hibernate hibernate-commons-annotations-4.0.5.Final-sources.jar hibernate-commons-annotations-5.0.1.Final-sources.jar *
  hibernate-core-4.3.11.Final-sources.jar hibernate-core-5.0.11.Final-sources.jar *
  hibernate-entitymanager-4.3.11.Final-sources.jar hibernate-entitymanager-5.0.11.Final-sources.jar *
  jandex-1.1.0.Final-sources.jar jandex-2.0.0.Final-sources.jar *
  javassist-3.18.1-GA-sources.jar javassist-3.20.0-GA-sources.jar *
Tiles tiles-api-3.0.5-sources.jar tiles-api-3.0.7-sources.jar * * *
  tiles-core-3.0.5-sources.jar tiles-core-3.0.7-sources.jar * * *
  tiles-jsp-3.0.5-sources.jar tiles-jsp-3.0.7-sources.jar * * *
  tiles-servlet-3.0.5-sources.jar tiles-servlet-3.0.7-sources.jar * * *
  tiles-template-3.0.5-sources.jar tiles-template-3.0.7-sources.jar * * *
Tiles Autotag Core tiles-autotag-core-runtime-1.1.0-sources.jar tiles-autotag-core-runtime-1.2-sources.jar * * *
Classmate classmate-1.1.0-sources.jar classmate-1.3.3-sources.jar * * *
Apache Commons BeanUtils commons-beanutils-1.9.2-sources.jar commons-beanutils-1.9.3-sources.jar * * *
Apache Commons IO commons-io-2.4-sources.jar commons-io-2.5-sources.jar * * *
Apache Commons Lang commons-lang3-3.3.2-sources.jar commons-lang3-3.4-sources.jar * * *
Apache Commons Logging commons-logging-1.2-sources.jar   * * *
Apache Geronimo   geronimo-jta_1.1_spec-1.1.1-sources.jar *
Hamcrest   hamcrest-library-1.3-sources.jar * * *
Jboss Logging 3 jboss-logging-annotations-1.2.0.Final-sources.jar   *
Java Transaction API 1.2 jboss-transaction-api_1.2_spec-1.0.0.Final-sources.jar   *
Joda Time joda-time-2.8.2-sources.jar joda-time-2.9.6-sources.jar * * *
Objenesis objenesis-2.1-sources.jar objenesis-2.4-sources.jar * * *
Jadira Usertype usertype.core-3.2.0.GA-sources.jar usertype.core-5.0.0.GA-sources.jar *
  usertype.spi-3.2.0.GA-sources.jar usertype.spi-5.0.0.GA-sources.jar *
H2 Database Engine h2-1.4.192-sources.jar h2-1.4.193-sources.jar * *

[Step 6]

Use the substitution string and update the reference library.

  • $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 Characters to be substituted Substituted characters Non MB3 JPA
TERASOLUNA Server Framework for Java (5.x) Common Library terasoluna-gfw-common-5.2.0.RELEASE terasoluna-gfw-common-5.3.0.RELEASE * * *
  terasoluna-gfw-jodatime-5.2.0.RELEASE terasoluna-gfw-jodatime-5.3.0.RELEASE * * *
  terasoluna-gfw-security-web-5.2.0.RELEASE terasoluna-gfw-security-web-5.3.0.RELEASE * * *
  terasoluna-gfw-web-5.2.0.RELEASE terasoluna-gfw-web-5.3.0.RELEASE * * *
  terasoluna-gfw-web-jsp-5.2.0.RELEASE terasoluna-gfw-web-jsp-5.3.0.RELEASE * * *
Spring Framework spring-aop-4.2.7.RELEASE spring-aop-4.3.5.RELEASE * * *
  spring-aspects-4.2.7.RELEASE spring-aspects-4.3.5.RELEASE * * *
  spring-beans-4.2.7.RELEASE spring-beans-4.3.5.RELEASE * * *
  spring-context-4.2.7.RELEASE spring-context-4.3.5.RELEASE * * *
  spring-context-support-4.2.7.RELEASE spring-context-support-4.3.5.RELEASE * * *
  spring-core-4.2.7.RELEASE spring-core-4.3.5.RELEASE * * *
  spring-expression-4.2.7.RELEASE spring-expression-4.3.5.RELEASE * * *
  spring-jdbc-4.2.7.RELEASE spring-jdbc-4.3.5.RELEASE * * *
  spring-orm-4.2.7.RELEASE spring-orm-4.3.5.RELEASE * * *
  spring-tx-4.2.7.RELEASE spring-tx-4.3.5.RELEASE * * *
  spring-web-4.2.7.RELEASE spring-web-4.3.5.RELEASE * * *
  spring-webmvc-4.2.7.RELEASE spring-webmvc-4.3.5.RELEASE * * *
Spring Data Commons spring-data-commons-1.11.4.RELEASE spring-data-commons-1.12.6.RELEASE * * *
Spring Data JPA spring-data-jpa-1.9.4.RELEASE spring-data-jpa-1.10.6.RELEASE *
Spring Security spring-security-acl-4.0.4.RELEASE spring-security-acl-4.1.4.RELEASE * * *
  spring-security-config-4.0.4.RELEASE spring-security-config-4.1.4.RELEASE * * *
  spring-security-core-4.0.4.RELEASE spring-security-core-4.1.4.RELEASE * * *
  spring-security-taglibs-4.0.4.RELEASE spring-security-taglibs-4.1.4.RELEASE * * *
  spring-security-web-4.0.4.RELEASE spring-security-web-4.1.4.RELEASE * * *
Spring TestContext Framework spring-test-4.2.7.RELEASE spring-test-4.3.5.RELEASE * * *
Jackson jackson-annotations-2.6.7 jackson-annotations-2.8.5 * * *
  jackson-core-2.6.7 jackson-core-2.8.5 * * *
  jackson-databind-2.6.7 jackson-databind-2.8.5 * * *
  jackson-datatype-joda-2.6.7 jackson-datatype-joda-2.8.5 * * *
  jackson-datatype-jsr310-2.6.7 jackson-datatype-jsr310-2.8.5 * * *
SLF4 jcl-over-slf4j-1.7.21 jcl-over-slf4j-1.7.22 * * *
  slf4j-api-1.7.21 slf4j-api-1.7.22 * * *
CSS Parser cssparser-0.9.16 cssparser-0.9.18 * * *
Gson gson-2.3.1 gson-2.7 * * *
HtmlUnit htmlunit-2.18 htmlunit-2.21 * * *
Jetty jetty-io-9.2.17.v20160517 jetty-io-9.3.14.v20161028 * * *
  jetty-util-9.2.17.v20160517 jetty-util-9.3.14.v20161028 * * *
JNA jna-4.1.0 jna-4.2.2 * * *
Logback logback-classic-1.1.7 logback-classic-1.1.8 * * *
  logback-core-1.1.7 logback-core-1.1.8 * * *
nekoHTML nekohtml-1.9.22 neko-htmlunit-2.21 * * *
Tomcat tomcat-el-api-8.0.36 tomcat-el-api-8.5.6 * * *
  tomcat-embed-el-8.0.36 tomcat-embed-el-8.5.6 * * *
  tomcat-jsp-api-8.0.36 tomcat-jsp-api-8.5.6 * * *
  tomcat-servlet-api-8.0.36 tomcat-servlet-api-8.5.6 * * *
WebSocket websocket-api-9.2.17.v20160517 websocket-api-9.3.14.v20161028 * * *
  websocket-client-9.2.17.v20160517 websocket-client-9.3.14.v20161028 * * *
  websocket-common-9.2.17.v20160517 websocket-common-9.3.14.v20161028 * * *
MyBatis mybatis-3.3.1 mybatis-3.4.2 *
  mybatis-spring-1.2.5 mybatis-spring-1.3.1 *
  mybatis-typehandlers-jsr310-1.0.1 mybatis-typehandlers-jsr310-1.0.2 *
Hibernate hibernate-commons-annotations-4.0.5.Final hibernate-commons-annotations-5.0.1.Final *
  hibernate-core-4.3.11.Final hibernate-core-5.0.11.Final *
  hibernate-entitymanager-4.3.11.Final hibernate-entitymanager-5.0.11.Final *
  jandex-1.1.0.Final jandex-2.0.0.Final *
  javassist-3.18.1-GA javassist-3.20.0-GA *
Tiles tiles-api-3.0.5 tiles-api-3.0.7 * * *
  tiles-core-3.0.5 tiles-core-3.0.7 * * *
  tiles-jsp-3.0.5 tiles-jsp-3.0.7 * * *
  tiles-servlet-3.0.5 tiles-servlet-3.0.7 * * *
  tiles-template-3.0.5 tiles-template-3.0.7 * * *
Tiles Autotag Core tiles-autotag-core-runtime-1.1.0 tiles-autotag-core-runtime-1.2 * * *
Classmate classmate-1.1.0 classmate-1.3.3 * * *
Apache Commons BeanUtils commons-beanutils-1.9.2 commons-beanutils-1.9.3 * * *
Apache Commons IO commons-io-2.4 commons-io-2.5 * * *
Apache Commons Lang commons-lang3-3.3.2 commons-lang3-3.4 * * *
Joda Time joda-time-2.8.2 joda-time-2.9.6 * * *
Objenesis objenesis-2.1 objenesis-2.4 * * *
Jadira Usertype usertype.core-3.2.0.GA usertype.core-5.0.0.GA *
  usertype.spi-3.2.0.GA usertype.spi-5.0.0.GA *
H2 Database Engine h2-1.4.192 h2-1.4.193 * *

[Step 7]

Delete the reference library (following jar file) from settings of Eclipse WTP project.

  • $YOUR_ECLIPSE_WTP_PROJECT/.classpath
  • $YOUR_ECLIPSE_WTP_PROJECT/build.xml
.. tabularcolumns:: |p{0.30\linewidth}|p{0.55\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|
Library name Prefix of jar file to be deleted Non MB3 JPA
Apache Commons Logging commons-logging-1.2 * * *
Jboss Logging 3 jboss-logging-annotations-1.2.0.Final *
Java Transaction API 1.2 jboss-transaction-api_1.2_spec-1.0.0.Final *

[Modification method]

.classpath

<!-- ### Following class path entry needs to be deleted ### -->

<!-- omitted -->

<classpathentry kind="lib"
    path="testlib/commons-logging-1.2.jar"
    sourcepath="libsrc/commons-logging-1.2-sources.jar" />

<classpathentry kind="lib"
    path="src/main/webapp/WEB-INF/lib/jboss-logging-annotations-1.2.0.Final.jar"
    sourcepath="libsrc/jboss-logging-annotations-1.2.0.Final-sources.jar" />

<classpathentry kind="lib"
    path="src/main/webapp/WEB-INF/lib/jboss-transaction-api_1.2_spec-1.0.0.Final.jar"
    sourcepath="libsrc/jboss-transaction-api_1.2_spec-1.0.0.Final-sources.jar" />

build.xml

<!-- ### Following class path entry needs to be deleted ### -->

<path id="build.classpath">
    <!-- omitted -->
    <pathelement location="${testlib.dir}/commons-logging-1.2.jar"/>
    <pathelement location="${lib.dir}/jboss-logging-annotations-1.2.0.Final.jar"/>
    <pathelement location="${lib.dir}/jboss-transaction-api_1.2_spec-1.0.0.Final.jar"/>
    <!-- omitted -->
</path>

[Step 8]

Add the reference library (following jar file) to the settings of Eclipse WTP project.

  • $YOUR_ECLIPSE_WTP_PROJECT/.classpath
  • $YOUR_ECLIPSE_WTP_PROJECT/build.xml
.. tabularcolumns:: |p{0.30\linewidth}|p{0.55\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|
Library name Prefix of jar file to be added Non MB3 JPA
Apache Geronimo geronimo-jta_1.1_spec-1.1.1 *
HtmlUnit htmlunit-2.21 * * *

[Modification method]

.classpath

<!-- ### Following class path entry needs to be added ### -->

<!-- omitted -->

 <classpathentry kind="lib"
    path="src/main/webapp/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar"
    sourcepath="libsrc/geronimo-jta_1.1_spec-1.1.1-sources.jar" />

 <classpathentry kind="lib"
    path="testlib/htmlunit-2.21.jar"
    sourcepath="libsrc/htmlunit-2.21-sources.jar" />

<!-- omitted -->

build.xml

<!-- ### Following class path entry needs to be added ### -->

<path id="build.classpath">
    <!-- omitted -->
    <pathelement location="${lib.dir}/geronimo-jta_1.1_spec-1.1.1.jar"/>
    <pathelement location="${testlib.dir}/htmlunit-2.21.jar"/>
    <!-- omitted -->
</path>
⚠️ **GitHub.com Fallback** ⚠️