-
Notifications
You must be signed in to change notification settings - Fork 55
Migration Guide 5.3.0_ja
.. only:: html .. contents:: 目次 :depth: 2 :local:
5.3.0での主な変更点は以下の通りです。
- Maven Centralリポジトリへ移行
- Spring Frameworkを4.3へ更新
- Spring Securityを4.1へ更新
- Spring IO PlatformをAthensへ更新
- MyBatisを3.4へ更新
- Hibernate ORMを5.0へ更新
- 共通ライブラリの仕様を一部変更
- ブランクプロジェクトの変更
5.3.0から、リモートリポジトリをMaven Centralリポジトリへ移行しました。
- [#664] Modify pom.xml related to "Maven Central" migration
5.3.0から、Spring Framework 4.3.5.RELEASEへ更新しました。
5.3.0から、Spring Security 4.1.4.RELEASEへ更新しました。
5.3.0から、Spring IO PlatformをAthens-SR2へ更新しました。
5.3.0から、MyBatis 3.4.2へ更新しました。この更新にあわせて、MyBatis Springを1.3.0へ更新しました。
5.3.0から、Hibernate ORM 5.0.11へ更新しました。
5.3.0から、バグ修正に伴い共通ライブラリの一部仕様を変更しました。
- [#634] @Compare don't display error message for left property in certain cases
5.3.0から、ブランクプロジェクトの一部設定ファイルを変更しました。
Maven Centralリポジトリへの移行に伴う変更
- [single#264] [multi#298] Modify pom.xml related to "Maven Central" migration
Spring IO Platformのバージョンアップに伴う変更
- [single#245] [multi#279] Selenium version mixed in Spring IO Platform Athens-SR1
Spring Frameworkのバージョンアップに伴う変更
- [single#270] [multi#304] Exclude NestedServletException from handling target of SystemExceptionResolver
MyBatisのバージョンアップに伴う変更
- [single#261] [multi#295] Since Mybatis 3.4.2, setting of aggressiveLazyLoading = false becomes unnecessary
その他の変更
- [single#259] [multi#293] Using DataSourceTransactionManager may be committed on error of commit phase
移行手順は、以下の通りです。
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 |
---|---|---|---|---|
|
Maven Central移行に伴うpom.xmlの変更 | Required | Required | Required |
|
依存ライブラリを更新 | Required | Required | Required |
|
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}|
ステップ | 手順 | MavenMultiple Projects | MavenSingle Project | EclipseWTP Project |
---|---|---|---|---|
|
rollbackOnCommitFailureオプションの設定更新 | Required by case | Required by case | Required by case |
|
セッションスコープのオブジェクト取得時にリクエストパラメータのバインドを防止する | 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 |
---|---|---|---|---|
|
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}|
ステップ | 手順 | MavenMultiple Projects | MavenSingle Project | EclipseWTP Project |
---|---|---|---|---|
|
致命的なエラーのハンドリング方法変更に伴う修正 | Required | Required | Required |
|
<mvc:view-controller>の仕様変更に伴う修正 | Required by case | Required by case | Required by case |
|
チェックボックスの空送信時のバインド値変更に伴う修正 | 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 |
---|---|---|---|---|
|
aggressiveLazyLoadingのデフォルト値変更に伴う修正 | Required by case | Required by case | Required by case |
|
BLOB/CLOB用のTypeHandler追加に伴う修正 | Optional | Optional | Optional |
|
JSR-310のTypeHandler設定を削除 | 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}|
ステップ | 手順 | MavenMultiple Projects | MavenSingle Project | EclipseWTP Project |
---|---|---|---|---|
|
PostgreSQL使用時にnowait句が付加されない不具合の修正 | Required by case | Required by case | Required by case |
Maven Centralリポジトリへの移行にともない、pom.xmlの設定を変更します。
[手順が必要なケース]
この手順の適用は必須です。
[修正方法]
- (
$YOUR_SINGLE_PROJECT_ROOT/pom.xml
) - (
$YOUR_MULTIPLE_PROJECT_ROOT/pom.xml
) - (
$YOUR_ECLIPSE_WTP_PROJECT_ROOT/pom.xml
)
terasoluna-gfw-releases
、terasoluna-gfw-snapshots
の設定を削除します。
<repositories>
<!-- omitted -->
<!-- ### 削除箇所 ここから ### -->
<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>
<!-- ### 削除箇所 ここまで ### -->
<!-- omitted -->
<!-- ### 削除箇所 ここから ### -->
<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>
<!-- ### 削除箇所 ここまで ### -->
<!-- omitted -->
</repositories>
SNAPSHOTバージョンのライブラリを利用したい場合は、設定を追加します(以下は、sonatype-nexus-snapshots
の設定例)。
<repositories>
<!-- omitted -->
<!-- ### 追加箇所 ここから ### -->
<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>
<!-- ### 追加箇所 ここまで ### -->
<!-- omitted -->
</repositories>
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.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 | |
MyBatis3 Spring | 1.2.5 | 1.3.1 | |
Mybatis TypeHandlers JSR-310 | 1.0.1 | 1.0.2 |
[手順が必要なケース]
この手順の適用は必須です。
この更新手順は、mvn archetype を使用して作成したプロジェクト向けです。
親プロジェクトのpomファイルの version
を 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> <!-- ### 修正箇所 ### -->
</parent>
<!-- omitted -->
この更新手順は、mvn archetype を使用して作成したプロジェクト、又は release site からダウンロードしたプロジェクト向けです。
プロジェクトのpomファイルの version
を 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> <!-- ### 修正箇所 ### -->
</parent>
<!-- omitted -->
この更新手順は、release site からダウンロードしたEclipse WTPプロジェクト向けです。
更新手順は、Eclipse WTP Project使用時のライブラリ更新 を参照してください。
Spring IO Platform AthensよりSelenium関連アーティファクトがバージョン管理に追加され、Athens-SR2ではバージョン2.53.1
が指定されています。
5.2.0のブランクプロジェクトではselenium-java 2.46.0
への依存関係を設定しているため、5.2.0のブランクプロジェクトから作成したアプリケーションを5.3.0にアップデートすると、Selenium関連アーティファクトのバージョンが混在する可能性があります。
[手順が必要なケース]
Selenium関連アーティファクトに2.53.1
以外のバージョンを指定している場合は修正が必要です。以下はブランクプロジェクトと設定を合わせるための修正例です。
[修正方法]
- (
$YOUR_MULTIPLE_PROJECT_ROOT/pom.xml
) - (
$YOUR_SINGLE_PROJECT/pom.xml
) - (
$YOUR_ECLIPSE_WTP_PROJECT/pom.xml
)
以下の設定を追加してください。
<!-- 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 -->
[備考]
Firefoxのバージョンによっては2.46.0
が動作しない場合があります。プロジェクトがサポートするブラウザのバージョンに応じて使用するSeleniumのバージョンを選択してください。
DataSourceTransactionManager使用時にコミットフェーズでエラーが発生した場合、デフォルト設定だとコミットされてしまう可能性があります。
[手順が必要なケース]
DataSourceTransactionManagerを利用している場合、この手順の適用は必須です。
[修正方法]
- (
$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
プロパティをtrue
にする必要があります。
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
<property name="rollbackOnCommitFailure" value="true" /> <!-- ### 追加箇所 ### -->
</bean>
オブジェクトをハンドラメソッドの引数として受け取る際、その引数にリクエストパラメータがバインドされる可能性があります。Spring Framework 4.2以前では、Model
型引数から取得することでバインドを防止していましたが、Spring Framework 4.3では、@ModelAttribute
アノテーションにbinding
属性が追加され、引数にリクエストパラメータをバインドするか否かを指定できるようになりました。
[手順が必要なケース]
この手順の適用は任意です。必要に応じて、次の修正を行ってください。
[修正方法]
引数に付与した@ModelAttribute
アノテーションのbinding
属性にfalse
を指定することで、リクエストパラメータのバインドを防止しつつ、セッションスコープに格納しているオブジェクトをタイプセーフに取得できます。
例)
@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, // 設定箇所
RedirectAttributes redirectAttributes) {
// ...
return "redirect:/wizard/save?complete";
}
Spring Security 4.1では、Spring Securityがデフォルトで使用しているAntPathRequestMatcher
のパスマッチングの仕様が大文字・小文字を区別するようになりました。
[手順が必要なケース]
Controllerの@RequestMapping
に記載されたパスパターンと、spring-security.xml
の<sec:intercept-url>
に記載されたパスパターンの大文字・小文字が一致していない場合、この手順の適用は必須です。
手順の適用が必要となる例)
@RequestMapping(value="/Todo/List")
public String viewTodoList(){
//...
}
<sec:http>
<sec:intercept-url pattern="/todo/list" access="isAuthenticated()" /> <!-- ### パスパターンが小文字になっている ### -->
<!-- omitted -->
</sec:http>
[修正方法]
Spring MVCのエンドポイントに対してアクセスポリシーを定義する場合は、<sec:intercept-url>
タグの pattern
属性に指定する値は/Todo/List
や/Todo/*
など大文字・小文字を揃える必要があります。
- (
$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()" /> <!-- ### 修正箇所 ### -->
<!-- omitted -->
</sec:http>
[備考]
pattern属性に*
や**
などのワイルドカード指定を含めない場合、拡張子をつけたパターンと、リクエストパスの末尾に/
を付けたパターンに対するアクセスポリシーを追加してください。
下記の設定例は、/Todo/List
に対して「ROLE_ADMIN
」ロールを持つユーザからのアクセスのみを許可しています。
<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>
Spring Framework 4.3では、Spring MVCの例外ハンドラ(HandlerExceptionResolver
)が致命的なエラー(java.lang.Error
及びそのサブクラス)やjava.lang.Throwable
がラップされたorg.springframework.web.util.NestedServletException
を捕捉するようになりました。この変更に伴い、致命的なエラーが意図せずハンドリングされ、サーブレットコンテナに通知できなくなる可能性があります。
[手順が必要なケース]
致命的エラーをサーブレットコンテナに通知する必要がある場合、この手順の適用は必須です。
[修正方法]
- (
$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
)
NestedServletException
がハンドリングされないよう、SystemExceptionResolver
のexcludedExceptions
プロパティにNestedServletException
を指定してください。
<bean id="systemExceptionResolver"
class="org.terasoluna.gfw.web.exception.SystemExceptionResolver">
<!-- omitted -->
<property name="excludedExceptions">
<array>
<value>org.springframework.web.util.NestedServletException</value> <!-- ### 追加箇所 ### -->
</array>
</property>
<!-- omitted -->
</bean>
@ExceptionHandler
でjava.lang.Exception
などのNestedServletException
のスーパークラスをハンドリングしている場合、NestedServletException
を意図せずハンドリングしてしまうため、NestedServletException
をハンドリングして再スローする@ExceptionHandler
メソッドを実装してください。
@ExceptionHandler(NestedServletException.class)
public void handleNestedServletException(NestedServletException e) throws NestedServletException {
throw e;
}
Spring Framework 4.3では、<mvc:view-controller>
で定義したパスに、POST等更新系のメソッドでアクセスできなくなりました。
[手順が必要なケース]
POST等更新系のメソッドでアクセスするページや、フォワード元のHTTPメソッドが限定できない場合(エラーページへの遷移など)は、<mvc:view-controller>
ではなく、Controller
クラスを実装するよう修正してください。
[修正方法]
<mvc:view-controller>
を使用している場合は、Controller
クラスに置き換えてください。
例)
[修正前]
<!-- omitted -->
<mvc:view-controller path="/login" view-name="login/form" /> <!-- ### 削除箇所 ### -->
<!-- omitted -->
[修正後]
Controller
クラスを実装します。
@Controller
@RequestMapping("/login")
public class LoginController {
@RequestMapping
public String loginForm() {
return "login/form";
}
}
spring-mvc.xml
から、作成したControllerクラスの<mvc:view-controller>
の行を削除してください。
Spring Framework 4.3では、チェックボックスが空のまま送信された場合、null
の代わりに空要素のCollectionオブジェクトがバインドされるようになりました。
[手順が必要なケース]
チェックボックス項目の必須チェックをnull
か否かで行っている場合、この手順の適用は必須です。
[修正方法]
チェックボックス項目に対する必須チェックを@NotNull
ではなく、@Size
や@NotEmpty
を使用するよう変更してください。
例)
【修正前】
public class SampleForm {
@NotNull
private List<String> list;
// ...
}
【修正後】
public class SampleForm {
@NotEmpty // 修正箇所
private List<String> list;
// ...
}
MyBatis 3.4.2では、aggressiveLazyLoading
のデフォルト値がガイドラインで推奨しているfalse
に変更されました。
[手順が必要なケース]
MyBatis 3.4.1以前のaggressiveLazyLoading
のデフォルト値(true
)を前提としたアプリケーションであるか否かによって、以下の修正を行ってください。
[修正方法]
- (
$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
)
[aggressiveLazyLoading
の設定を省略していた場合(デフォルト値であるtrue
を適用していた場合)]
aggressiveLazyLoading
の値をtrue
に設定します。
<settings>
<setting name="aggressiveLazyLoading" value="true"/> <!-- ### 更新箇所 ### -->
</settings>
[aggressiveLazyLoading
にfalse
を設定していた場合]
以下の設定を削除できます(この手順の適用は任意です)。
<settings>
<setting name="aggressiveLazyLoading" value="false"/> <!-- ### 削除箇所 ### -->
</settings>
MyBatis 3.4では、JDBC 4.0サポートのJDBCドライバーであれば、BLOB⇔ InputStream 、CLOB⇔ Reader 変換用のタイプハンドラーがデフォルトで有効になりました。
[手順が必要なケース]
この手順の適用は任意です。独自にTypeHandlerを実装しており、その要件がMyBatisが提供するTypeHandlerで満たせる場合には、次の修正を行ってください。
[修正方法]
- (
$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
)
独自実装したTypeHandlerの設定を削除してください。
例)
<typeHandlers>
<!-- omitted -->
<typeHandler handler="xxx.yyy.zzz.CustomTypeHandler" /> <!-- ### 削除箇所 ### -->
<!-- omitted -->
</typeHandlers>
MyBatis 3.4では、JSR-310用のTypeHandlerが自動で登録されるようになったため、JSR-310のTypeHandler設定が不要になりました。
[手順が必要なケース]
この手順の適用は任意です。必要に応じて、以下の修正を行ってください。
[修正方法]
- (
$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 -->
<!-- ### 削除箇所 ここから ### -->
<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" />
<!-- ### 削除箇所 ここまで ### -->
<!-- omitted -->
</typeHandlers>
Hibernate ORM 5.0.Xでは、PostgreSQLでnowait
を使用するよう設定しても、発行するSQLにnowait
句が付加されない場合があります(HHH-10797)。
[手順が必要なケース]
下記例のように、JPA(Hibernate ORM)からPostgreSQLに対してnowait
句が発行されるよう、タイムアウトに0
を指定した悲観ロックを設定し、かつJPQLを使用している場合は、[修正方法]に記載の対策などを検討してください。
@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);
[修正方法]
以下のような対策を検討し、プロジェクトの状況に応じて対応要否、対応方法を判断してください。
- Hibernate ORM 提供の
Dialect
クラスにパッチを適用して使う - Hibernate ORM 5.2.1以上へバージョンアップする
この更新手順は、release site からダウンロードしたEclipse WTPプロジェクト向けです。
Note
凡例
[テーブルヘッダ]Non : O/R Mapperに非依存のブランクプロジェクトMB3 : MyBatis3用のブランクプロジェクトJPA : JPA用のブランクプロジェクト[備考欄]* : オペレーション対象
Eclipse WTP Project of 5.3.0.RELEASE をダウンロードしてください。
Eclipseが起動している場合、Eclipseを終了します。
$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.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 | * |
$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.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 | * | * |
$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.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 | * | * |
置換文字列を使用して、参照ライブラリを更新してください。
$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.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 | * | * |
Eclipse WTPプロジェクトの設定から参照ライブラリ(以下のjarファイル)を削除してください。
$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}|
ライブラリ名 | 削除対象jarファイルのプレフィックス | 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 | * |
[修正方法]
.classpath
<!-- ### 以下のクラスパスエントリーの削除が必要 ### -->
<!-- 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
<!-- ### 以下のクラスパスエントリーの削除が必要 ### -->
<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>
Eclipse WTPプロジェクトの設定に参照ライブラリ(jarファイル以下)を追加してください。
$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}|
ライブラリ名 | 追加対象jarファイルのプレフィックス | Non | MB3 | JPA |
---|---|---|---|---|
Apache Geronimo | geronimo-jta_1.1_spec-1.1.1 | * | ||
HtmlUnit | htmlunit-2.21 | * | * | * |
[修正方法]
.classpath
<!-- ### 以下のクラスパスエントリーの追加が必要 ### -->
<!-- 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
<!-- ### 以下のクラスパスエントリーの追加が必要 ### -->
<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>