eclenhancer コマンド
Java™ Persistence API (JPA) アプリケーション用のエンティティー・エンハンサー・ツールは、バイトコードをエンティティー・クラス・ファイルに挿入します。これにより、JPA プロバイダーはエンティティーの状態を管理できるようになります。このコマンド行ツールを使用して、WebSphere® Application Server の Java™ Persistence API (JPA) 2.1 仕様プロバイダー EclipseLink のエンティティーを強化します。
すべてのエンティティー・クラスの状態を管理したい場合、アプリケーション・サーバーとともに JPA を使用するためには、すべてのエンティティー・クラスを機能拡張する必要があります。 コンテナー管理の環境では、自動的機能拡張はコンテナーによって提供されます。 しかし、Java SE 環境では、パーシスタンスを管理するコンテナーがなく、アプリケーション・ファイルをテストのためにパッケージする前にこのコマンドを頻繁に使用する可能性があります。JPA エンティティーを作成した後は、Java アーカイブ (JAR) ファイルをアプリケーションのエンタープライズ・アーカイブ (EAR) ファイルにパッケージする前に、eclenhancer ツールを実行してバイトコードをエンティティーに注入することができます。
構文
このコマンドを実行する前に、persistence.xml ファイルをクラスパスに入れるか、そのロケーションを -persistenceinfo 引数に指定する必要があります。このコマンドは、profile_root ディレクトリーの bin サブディレクトリーから実行します。
コマンド構文は次のようになります。
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
eclenhancer.sh [arguments] <source> <target>
![[Windows]](../images/windows.gif)
eclenhancer.bat [arguments] <source> <target>
パラメーター
- classpath <path>: 作成する Java ソース・ファイルのロケーション (ディレクトリーまたは JAR ファイル) を指定します。persistence.xml ファイルがこのロケーションにない場合は、-persistenceinfo 属性を使用して persistence.xml のロケーションを指定する必要があります。
- <source>: 作成する Java ソース・ファイルのロケーション (ディレクトリーまたは JAR ファイル) を指定します。persistence.xml ファイルがこのロケーションにない場合は、-persistenceinfo 属性を使用して persistence.xml のロケーションを指定する必要があります。
- <target>: 出力ロケーション (ディレクトリーまたは JAR ファイル) を指定します。
使用法
eclenhancer ツールを使用するには、JPA 仕様にエンティティーを定義し、それらのエンティティーをコンパイルする必要があります。エンティティーを JAR ファイルにパッケージする前に、それらのエンティティーに対して eclenhancer ツールを実行できます。エンティティーが既にパッケージされている場合は、エンティティー・クラス・ファイルを抽出し、エンハンサーを実行し、JAR ファイルを再作成する必要があります。
- エンティティーがクラスパスに含まれていることを確認します。クラスパスに含まれていない場合は追加してください。
- eclenhancer コマンドを実行します。これは profile_root/bin ディレクトリーにあります。
例
JAR にあるエンティティーを強化するには、以下のようにします。
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
$ cd build /home/user/myproject/build $ ${profile_root}/bin/eclenhancer.sh -persistenceinfo
/home/user/myproject/build/myjar-containing-persistencexml.jar -classpath
/classpath1;/classpath2 /home/user/myproject/build/myjar-source.jar
/home/user/myproject/build/myjar-target.jar
![[Windows]](../images/windows.gif)
C:\myproject\build>%profile_root%\bin\eclenhancer.bat -persistenceinfo c:\myjar-
containing-persistencexml.jar -classpath c:\classpath1;c:\classpath2 c:\myjar-
source.jar c:\myjar-target.jar