Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)


21.4 ユーザアプリケーションに含めるライブラリの注意事項

アプリケーションサーバが提供するライブラリのうち,ユーザアプリケーションとの競合に注意が必要なライブラリを次に示します。

ユーザが用意したライブラリの使用可否とそのユーザアプリケーションからの参照可否

表21-1の「ユーザが用意したライブラリの使用可否とそのユーザアプリケーションからの参照可否」列が「不可」のライブラリをユーザアプリケーションに含めることはできません。これらのライブラリをユーザ側で追加したとしても,アプリケーションサーバが提供するクラスが優先されるため,ライブラリのバージョンの違いなどによりアプリケーションが意図しない動作となるおそれがあります。

ユーザアプリケーションに含めることができないライブラリを使用したい場合には,ライブラリ競合回避機能の使用を検討してください。ライブラリ競合回避機能については,「付録B.4 ライブラリ競合回避機能」を参照してください。

「ユーザが用意したライブラリの使用可否とそのユーザアプリケーションからの参照可否」列が「条件付き可」のライブラリは,アプリケーションサーバが提供するライブラリをクラスパスに追加しない場合には,ユーザが用意した任意のライブラリを使用できます。また,ユーザが用意したライブラリをユーザアプリケーションに含めることで,ユーザアプリケーションから参照できます。

アプリケーションサーバで提供するライブラリのユーザアプリケーションからの参照可否

表21-1の「アプリケーションサーバで提供するライブラリのユーザアプリケーションからの参照可否」列が「不可」のライブラリは,アプリケーションサーバが提供するライブラリをユーザアプリケーションから直接参照できません。

アプリケーションサーバが提供するJBoss Loggingはユーザアプリケーションからの直接参照をサポートします。提供するJBoss Loggingのバージョンは3.3.2.Finalです。

表21‒1 ユーザアプリケーションに含めるライブラリの使用・参照可否

ライブラリ名

パッケージ名

ユーザが用意したライブラリの使用可否とそのユーザアプリケーションからの参照可否

アプリケーションサーバで提供するライブラリのユーザアプリケーションからの参照可否

JBoss Logging

org.jboss.logging

不可

EclipseLink JPA

org.eclipse.persistence

条件付き可※1

不可

Jersey

com.sun.research.ws

条件付き可※2

不可

jersey.repackaged

org.glassfish.jersey

HK2

org.glassfish.hk2

org.jvnet.tiger_types

org.jvnet.hk2

Javassist

javassist

Jackson

com.fasterxml.jackson

条件付き可※3

不可

GlassFish

org.glassfish.cdi.transaction

不可

不可

Google Guava

com.google.common

Hibernate Validator

org.hibernate.validator

Java ClassMate

com.fasterxml.classmate

Java Batch Reference Implementation (jbatch)

com.ibm.jbatch

JBoss classfilewriter

org.jboss.classfilewriter

JSR 236 (Concurrency Utilities for Java EE) RI

org.glassfish.enterprise.concurrent

JSR 367 (JSON Binding) RI

org.eclipse.yasson

JSR 374 (JSON Processing) RI

org.glassfish.json

Mojarra

com.sun.faces

Unified Expression Language RI

com.sun.el

Weld

org.jboss.weld

Tyrus

org.glassfish.tyrus

注※1

<cosminexus.home>/CC/javaee/1100/lib/jpa-provider.jarをクラスパスに追加していない場合に限り,ユーザで用意したライブラリの使用可およびユーザアプリケーションからの参照可。

注※2

<cosminexus.home>/CC/javaee/1100/lib/jaxrs-impl.jarをクラスパスに追加していない場合に限り,ユーザで用意したライブラリの使用可およびユーザアプリケーションからの参照可。

注※3

<cosminexus.home>/CC/javaee/1100/lib/jaxrs-jackson.jarをクラスパスに追加していない場合に限り,ユーザで用意したライブラリの使用可およびユーザアプリケーションからの参照可。