eclenhancer 命令
Java™ Persistence API (JPA) 应用程序的实体增强器工具将字节码插入到实体类文件中,该文件支持由 JPA 提供程序管理实体状态。使用此命令行工具来为 WebSphere® Application Server 增强 Java™ Persistence API (JPA) 2.1 规范提供程序 EclipseLink 下的实体。
如果要管理所有实体类的状态,那么与应用程序服务器一起使用的 JPA 要求对这些实体类进行增强。在容器管理的环境中,由容器提供自动增强。但是,Java SE 环境中没有容器管理持久性,您可能会在打包应用程序文件之前经常使用此命令进行测试。创建 JPA 实体后,您可以运行 eclenhancer 工具将字节码注入实体,然后再将 Java 归档 (JAR) 文件打包到应用程序的企业归档 (EAR) 文件中。
语法
运行命令之前,必须在类路径上具有 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>
参数
该增强器接受由配置框架定义的标准命令行自变量集以及下列必需自变量:
- 类路径 <path>:指定要织入的 Java 源文件的位置;可以是目录,也可以是 JAR 文件。如果 persistence.xml 文件不存在于此位置,那么必须使用 -persistenceinfo 属性来指定 persistence.xml 的位置。
- <source>:指定要织入的 Java 源文件的位置;可以是目录,也可以是 JAR 文件。如果 persistence.xml 文件不存在于此位置,那么必须使用 -persistenceinfo 属性来指定 persistence.xml 的位置。
- <target>:指定输出位置;可以是目录,也可以是 JAR 文件。
用法
要使用 eclenhancer 工具,需要对 JPA 规范定义实体,并且必须编译这些实体。可以对这些实体运行 eclenhancer 工具,然后再将它们打包到 JAR 文件中。如果实体已打包,那么可以抽取实体类文件,运行增强器,然后重新创建 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