选择安装选项设置

使用此页面来指定用于将 Java™ Platform, Enterprise Edition (Java EE) 应用程序安装到 WebSphere® Application Server 部署目标上的选项。 如果您未指定选项值,那么会使用缺省值。 安装应用程序后,可以从企业应用程序设置页面中为这些选项中的许多选项指定值。

要查看此管理控制台页面,请单击 应用程序 > 新建应用程序 > 新建企业应用程序 ,然后在 " 准备应用程序安装 " 页面上根据需要指定应用程序的值。

选择安装选项”页面与应用程序安装和更新向导中的该页面相同。

预编译 JavaServer Pages 文件

指定是否在安装过程中预编译 JavaServer Pages(JSP)文件。 缺省情况为不预编译 JSP 文件。

对于此选项,请仅将其安装到 Version 8.5 部署目标上,该部署目标具有与 Deployment Manager 相同的或更高的 Java SDK 级别。

如果选择了预编译 JavaServer Pages 文件并尝试将应用程序安装到旧版本(例如 V7)的部署目标上,那么安装将被拒绝。 只能将应用程序部署到与该产品版本相同的部署目标上。 如果应用程序所面向的服务器的版本比产品旧,那么不能部署到那些目标。

信息
数据类型 Boolean
缺省值

安装应用程序的目录

指定企业归档 (EAR) 文件的安装目录。

缺省情况下,EAR 文件安装在 profile_root/installedApps/cell_name/application_name.ear 目录中。

设置选项包括以下内容:

  • 不要指定值,让字段留空。

    缺省值为 ${APP_INSTALL_ROOT}/cell_name,其中 ${APP_INSTALL_ROOT} 变量是 profile_root/installedApps。 具有所安装应用程序的 EAR 文件名的目录将附加到 ${APP_INSTALL_ROOT}/cell_name。 因此,如果您未指定目录,那么该 EAR 文件将安装在 profile_root/installedApps/cell_name/application_name.ear 目录中。

  • 请指定目录。

    如果为应用程序安装目录指定目录,那么应用程序将安装在 specified_path/application_name.ear 目录中。 具有所安装应用程序的 EAR 文件名的目录将附加到您为应用程序安装目录指定的路径。 例如,如果您要在 Windows 计算机上安装 Clock.ear 并指定 C:/myapps,那么应用程序将安装在 myapps/Clock.ear 目录中。 ${APP_INSTALL_ROOT} 变量被设置为所指定的路径。

  • 为应用程序的初始安装指定 ${APP_INSTALL_ROOT}/${CELL}

    如果希望将应用程序从一个单元导出并且稍后将导出的应用程序安装在另一单元上,那么请为该应用程序的初始安装指定 ${CELL} 变量。 例如,为此设置指定 ${APP_INSTALL_ROOT}/${CELL}。 导出该应用程序会创建包含该应用程序及其部署配置的增强 EAR 文件。 除非指定了 ${CELL} 变量,否则该部署配置将初始安装的单元名称保留目标目录中。 指定 ${CELL} 变量会确保目标目录具有当前单元名称但没有原始单元名称。

    重要:如果在单服务器配置中安装应用程序时未指定安装目录,那么会将该应用程序安装在 ${APP_INSTALL_ROOT}/cell_name 中。 当使用 addNode 实用程序将该服务器添加到多服务器配置时,新配置的单元名将成为 Deployment Manager 节点的单元名。 如果运行 addNode 实用程序时指定了 -includeapps 选项,那么运行 addNode 操作前安装的应用程序仍使用安装目录 ${APP_INSTALL_ROOT}/cell_name。 但是,在将服务器添加到网络配置后安装的应用程序将使用缺省安装目录 ${APP_INSTALL_ROOT}/network_cell_name。 执行 addNode 操作后,要将该应用程序移至 ${APP_INSTALL_ROOT}/network_cell_name 位置,请在安装期间显式地指定安装目录 ${APP_INSTALL_ROOT}/${CELL}。 在这种情况下,应用程序文件总是在 ${APP_INSTALL_ROOT}/current_cell_name 中。
  • 如果应用程序已导出,并且您要将导出的 EAR 文件安装在其他单元或位置中,请指定 ${APP_INSTALL_ROOT}/cell_name/application_name.ear(如果您没有为初始安装指定 ${APP_INSTALL_ROOT}/${CELL})。

    导出的 EAR 文件是一个具有应用程序及其部署配置的已增强 EAR 文件。 部署配置保留用于先前应用程序安装的应用程序安装目录值。 如果没有为此安装的应用程序安装目录指定其他值,那么已增强的 EAR 文件将被安装到用于先前安装的目录中。

    如果在初始安装期间未指定 ${CELL} 变量,那么部署配置将使用目标目录中初始安装的单元名。 如果要安装到其他单元,请指定 ${APP_INSTALL_ROOT}/cell_name/application_name.ear,其中 cell_name 是安装已增强 EAR 文件的单元的名称。 如果未指定当前单元名,那么 cell_name 将是原始单元名,即使您要将已增强的 EAR 文件安装到具有不同名称的单元亦如此。

  • 指定绝对路径或使用路径映射变量。

    既可以指定绝对路径也可以使用路径映射变量(例如 ${MY_APPS})。 可以在任何安装中使用路径映射变量。

    [IBM i]避免麻烦: 在分布式操作系统环境中, pathmap 变量的作用域从 nodeagent 级别作用域开始,而不是从服务器级别作用域开始。 如果在 Node Agent 级别作用域中找不到该变量,那么接着在节点级别作用域中查找该变量,最终在单元级别作用域中查找该变量。

这个应用程序安装目录字段与“应用程序二进制文件”页上的位置(完整路径)设置相同。

信息
数据类型 字符串
单元 完整路径名

分发应用程序

指定产品在安装期间是否在安装位置中展开应用程序二进制文件并在卸载期间删除那些应用程序二进制文件。 缺省情况是启用应用程序分发。 已安装的应用程序的应用程序二进制文件将展开到指定的目录中。

在单服务器产品中,当您卸载并保存对配置的更改时,这些二进制文件将被删除。

在多服务器产品中,当您卸载并保存对配置的更改并同步更改时,这些二进制文件将被删除。

如果禁用了此选项,那么必须确保在所有运行该应用程序的节点上的目标目录中适当地展开应用程序二进制文件。

避免麻烦: 如果禁用此选项,并且未将应用程序二进制文件复制并展开到节点,那么稍后保存配置或手动同步不会将应用程序二进制文件移动到节点。

这个分发应用程序字段与“应用程序二进制文件”页上的允许分发、展开以及在卸载后清除二进制文件设置相同。

信息
数据类型 Boolean
缺省值

使用二进制文件配置

指定应用程序服务器是使用与应用程序部署文档 deployment.xml 文件放在一起的绑定、扩展和部署描述符(缺省情况)还是使用企业归档 (EAR) 文件中的那些内容。 仅对安装在 V6.0 或更高版本的部署目标上的应用程序选择此设置。

缺省情况 (false) 是使用 deployment.xml 文件中的绑定、扩展和部署描述符。 要使用 EAR 文件中的绑定,扩展和部署描述符,请启用此设置 (true)。

这个使用二进制文件配置字段与“应用程序二进制文件”页上的使用二进制文件中的配置信息设置相同。

信息
数据类型 Boolean
缺省值

部署企业 bean

指定安装应用程序期间是否运行 EJBDeploy 工具。

此工具生成运行 Enterprise JavaBeans (EJB) 文件所需的代码。 在下列情况下,必须启用此设置:
  • 该 EAR 文件是使用组装工具(例如,Rational® Application Developer)组装的,但在组装期间未运行 EJBDeploy 工具。
  • 该 EAR 文件不是使用组装工具(例如 Rational Application Developer)组装的。
  • 该 EAR 文件是使用 V5.0 以前的 Application Assembly Tool (AAT) 版本组装的。

如果 EJB 模块打包到 Web 归档 (WAR) 中,那么不必启用此设置。

EJB 部署工具将在安装 EJB 1.x 或 2.x 模块期间运行。 在安装 EJB 3.x 模块期间,不会运行 EJB 部署工具。

要点: 不推荐使用 EJB 部署工具。

对于此选项,请仅将其安装到 Version 8.5 部署目标上,该部署目标具有与 Deployment Manager 相同的或更高的 Java SDK 级别。

如果选择了部署企业 bean 并尝试将应用程序安装到旧版本(例如 V7)的部署目标上,那么安装将被拒绝。 只能将应用程序部署到 WebSphere 版本与产品相同的目标上。 如果应用程序所面向的服务器的版本比产品旧,那么不能部署到那些目标。

并且,如果选择了部署企业 Bean 并在提供选项以执行 EJB 部署页面上指定了数据库类型,那么先前为所有 EJB 模块定义的后端标识都将被选择的数据库类型覆盖。 要对各个 EJB 模块启用后端标识,请在 提供用于执行 EJB 部署的选项 页面上将数据库类型设置为 "" (null)。

启用此设置可能会使安装程序运行几分钟。

信息
数据类型 Boolean
缺省值 true(对于 EJB 3.0 模块,则为 false

应用程序名

指定应用程序的逻辑名。 应用程序名在单元中必须是唯一的,并且不能包含不受支持的字符。

应用程序名称不能以句点 (.) 开头,前面和后面都不能包含空格,并且不能包含任何以下字符:

表 1. 名称中不能使用的字符 本产品不支持在名称中使用这些字符。
不受支持的字符
/⁄ 正斜杠 $ 美元符 ' 单引号
\ 反斜杠 = 等号 "双引号
* 星号 % 百分号 | 竖线
, 逗号 + 加号 < 左尖括号
: 冒号 @ at 符号 >  右尖括号
; 分号 # # 号 & ampersand (and sign)
? 问号 ]]> 此字符组合没有特定的名称

应用程序名称字段与“企业应用程序设置”页面上的名称设置相同。

信息
数据类型 字符串

创建资源的 MBean

指定应用程序启动时是否为该应用程序中的资源(例如 Servlet 或 JSP 文件)创建 MBean。 缺省情况是创建 MBean。

此字段与“启动行为”页上的为资源创建 MBean 设置相同。

信息
数据类型 Boolean
缺省值

覆盖 Web 模块和 EJB 模块的类重新装入设置

指定产品运行时是否在应用程序运行时检测应用程序类的更改。 如果启用了此设置,并且应用程序类被更改,那么将停止并重新启动该应用程序以重新装入已更新的类。

缺省情况是不启用类重新装入。

此字段与“类装入和更新检测”页面上的覆盖 Web 模块和 EJB 模块的类重新装入设置设置相同。

信息
数据类型 Boolean
缺省值

重新装入时间间隔,以秒为单位

指定扫描应用程序的文件系统以查找已更新文件的间隔秒数。 缺省值为 EAR 文件的 IBM® 扩展 (META-INF/ibm-application-ext.xmi) 文件中的重新装入时间间隔属性值。

仅当启用了类重新装入功能时,重新装入时间间隔属性才会生效。

要启用重新装入功能,请指定大于零的值(例如 1 到 2147483647)。 要禁用重新装入功能,请指定零 (0)。 范围从 0 到 2147483647。

这个重新装入时间间隔(以秒计)字段与“类装入和更新检测”页面上的轮询已更新文件的时间间隔设置相同。

信息
数据类型 整数
单元
缺省值 3
受支持的配置: 对于 IBM 扩展和绑定文件,根据您是使用Java EE 5 之前的应用程序或模块,还是使用 Java EE 5 或更高版本的应用程序或模块, .xmi.xml 文件扩展名有所不同。 IBM 扩展或绑定文件名为 ibm-*-ext.xmiibm-*-bnd.xmi ,其中 * 是扩展或绑定文件的类型,例如 appapplicationejb-jarweb。 存在下列条件:
  • 对于使用版本 5 之前的 Java EE 版本的应用程序或模块,文件扩展名必须为 .xmi
  • 对于使用 Java EE 5 或更高版本的应用程序或模块,文件扩展名必须为 .xml。 如果应用程序或模块随附 .xmi 文件,那么产品会忽略 .xmi 文件。

但是, Java EE 5 或更高版本的模块可以存在于包含Java EE 5 之前的文件并使用 .xmi 文件扩展名的应用程序中。

ibm-webservices-ext.xmiibm-webservices-bnd.xmiibm-webservicesclient-bnd.xmiibm-webservicesclient-ext.xmiibm-portlet-ext.xmi 文件继续使用 .xmi 文件扩展名。

部署 Web Service

指定安装应用程序期间是否运行 Web Service 部署工具 wsdeploy

此工具生成使用 Web Service 运行应用程序所需的代码。 缺省情况是不运行 wsdeploy 工具。 如果 EAR 文件包含使用 Web Service 的模块,但是先前未对那些模块运行 wsdeploy 工具(使用组装工具的部署菜单选项或者从命令行运行该工具),那么必须启用此设置。

对于此选项,请仅将其安装到 Version 8.5 部署目标上,该部署目标具有与 Deployment Manager 相同的或更高的 Java SDK 级别。

如果选择了部署 Web Service 并尝试将应用程序安装到旧版本的部署目标上,那么将拒绝安装。 只能将应用程序部署到与该产品版本相同的目标上。 如果应用程序所面向的服务器的版本比产品旧,那么不能部署到那些目标。

信息
数据类型 Boolean
缺省值

验证输入:关/警告/失败

指定产品在应用程序安装或更新期间是否检查应用程序引用,并且,如果启用验证,是发出警告指示错误引用还是使操作失败。

通常,应用程序使用数据源(对于容器管理的持久性 (CMP) Bean)或者使用部署描述符中定义的资源引用或资源环境引用来引用资源。 验证操作检查在应用程序的部署目标作用域中是否定义了该应用程序引用的资源。

选择关闭表示不进行资源验证,选择警告表示发出关于资源引用错误的警告消息,选择失败表示停止由于资源引用错误而失败的操作。

这个验证输入:关/警告/失败字段与“企业应用程序设置”页面上的应用程序引用验证设置相同。

信息
数据类型 字符串
缺省值 警告

处理嵌入式配置

指定是否应该处理嵌入式配置。 嵌入式配置包括诸如 resource.xmlvariables.xmldeployment.xml 之类的文件。 您可以收集特定于 WebSphere Application Server的部署信息并将其存储在应用程序 EAR 文件中。 然后,可以使用 通过编程安装应用程序 主题中描述的应用程序管理接口将此类 EAR 文件安装到 WebSphere Application Server 配置中。

这样一个应用程序 EAR 文件是已增强的 EAR 文件,在您导出已安装的应用程序时创建此 EAR 文件。 “嵌入式配置”复选框标识这样的已增强 EAR 文件。 缺省情况下,如果检测到应用程序是增强型 EAR ,那么将选中流程嵌入式配置的复选框。 无论是否选中了流程嵌入式配置的复选框,都会使用嵌入式配置中的信息来预填充应用程序安装选项。 在部署过程中,用户可以覆盖这些值。

如果导出的 EAR 文件 (增强型 EAR 文件) 包含共享库及其配置信息,那么安装应用程序的过程对您是否选中了进程嵌入式配置的复选框很敏感。 如果对于定义了共享库配置的应用程序选中了此复选框,那么安装此应用程序时会附带那些共享库,并且会根据嵌入式配置中的信息来配置此应用程序。 如果对于定义了共享库配置的应用程序未选中此复选框,那么仍然会安装此 EAR 文件,但是不会安装那些共享库及其配置。

注:无论是否已处理嵌入式配置,它仍然是此应用程序的一部分。

即使禁用“处理嵌入式配置”选项,共享库定义也不会保留下来。

如果您从当前单元以外的单元中导出了应用程序,并且在首次安装应用程序时没有为 目录以安装应用程序 指定 $(CELL) 变量,请取消选择此设置 (false) 以展开 profile_root/installedApps/current_cell_name 目录中的增强型 EAR 文件。 否则,如果选择此设置 (true),那么将在 profile_root/installedApps/original_cell_name 目录中展开增强型 EAR 文件,其中 original_cell_name 是首次安装应用程序的单元。 如果在首次安装应用程序时为 Directory to install application 指定了 $(CELL) 变量,那么安装将展开 profile_root/installedApps/current_cell_name 目录中的增强型 EAR 文件。

信息
数据类型 Boolean
缺省值 false(已取消选中)

文件许可权

指定已展开到所指定目录中的已安装应用程序的应用程序二进制文件访问许可权。

必须启用分发应用程序选项才能指定文件许可权。

可以在文本字段中指定文件许可权。 还可以通过从多选项列表中选择某些常用的文件许可权来设置这些许可权。 列表选项将覆盖文本字段中设置的文件许可权。

可以在列表中设置下列一个或多个文件许可权字符串。 如果选择多个选项,那么会将文件许可权字符串组合到一起。

表 2. 列表选项的文件权限字符串集 选择一个列表选项或在该文本字段中指定文件许可权字符串。
多选项列表选项 设置的文件许可权字符串
允许读取所有文件,但不允许写 .*=755
允许执行可执行文件 .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755
允许任何人读取 HTML 和图像文件 .*\.htm=755#.*\.html=755#.*\.gif=755#.*\.jpg=755

除使用多选项列表来指定文件许可权以外,也可以在文本字段中指定文件许可权字符串。 文件许可权使用具有以下格式的字符串:

file_name_pattern=permission#file_name_pattern=permission

其中 file_name_pattern 是正则表达式文件名过滤器(例如,.*\\.jsp 表示所有 JSP 文件),permission 提供文件访问控制表 (ACL),# 是多个 file_name_patternpermission 条目之间的分隔符。 如果 #file_name_pattern 字符串中的字符,请改为使用 \#

如果字符串中的多个文件名模式和文件许可权与应用程序中的统一资源标识 (URI) 匹配,那么产品会将最严格的适用文件许可权用于该文件。 例如,如果文件许可权字符串是 .*\\.jsp=775#a.*\\.jsp=754,那么 abc.jsp 文件的文件许可权为 754。

最佳实践: 将正则表达式用于文件匹配模式将整个字符串 URI 与指定的文件许可权模式进行比较。 必须按照 Java 编程 API 定义的方式使用正则表达式来提供更精确的匹配模式。 例如,假定在文件许可权操作期间要处理下列目录和文件 URI:
表 3. 文件权限操作的示例 URI 结果显示在此表后面。
编号 示例 URL
1 /opt/WebSphere/profiles/AppSrv01/installedApps/MyCell/MyApp.ear/MyWarModule.war
2 /opt/WebSphere/profiles/AppSrv01/installedApps/MyCell/MyApp.ear/MyWarModule.war/MyJsp.jsp
3 /opt/WebSphere/profiles/AppSrv01/installedApps/MyCell/MyApp.ear/MyWarModule.war/META-INF/MANIFEST.MF
4 /opt/WebSphere/profiles/AppSrv01/installedApps/MyCell/MyApp.ear/MyWarModule.war/WEB-INF/classes/MyClass.class
5 /opt/WebSphere/profiles/AppSrv01/installedApps/MyCell/MyApp.ear/MyWarModule.war/mydir/MyClass2.class
6 /opt/WebSphere/profiles/AppSrv01/installedApps/MyCell/MyApp.ear/MyWarModule.war/META-INF

文件模式匹配结果如下:

  • MyWarModule.war 与任何 URI 都不匹配
  • .*MyWarModule.war.* 与所有 URI 都匹配
  • .*MyWarModule.war$ 只与 URI 1 匹配
  • .*\\.jsp=755 只与 URI 2 匹配
  • .*META-INF.* 与 URI 3 和 6 匹配
  • .*MyWarModule.war/.*/.*\.class 与 URI 4 和 5 匹配
如果对文件许可权指定了目录名称模式,那么将根据指定的值设置目录许可权。 否则,对该目录设置的文件许可权值与其父目录相同。 例如,假定有以下文件和目录结构:
/opt/WebSphere/profiles/AppSrv01/installedApps/MyCell/MyApp.ear/MyWarModule.war/MyJsp.jsp
并且,指定以下文件模式字符串:
.*MyApp.ear$=755#.*\.jsp=644
文件模式匹配结果如下:
  • 目录 MyApp.ear 设置为 755
  • 目录 MyWarModule.war 设置为 755
  • 目录 MyWarModule.war 设置为 755
最佳实践: 无论操作系统如何,始终在文件模式中使用正斜杠 (/) 作为文件路径分隔符。

此处指定的访问许可权是应用程序级访问许可权。 也可以在节点级配置中指定应用程序二进制文件的访问许可权。 节点级文件许可权指定可以授予应用程序二进制文件的最大(最不严格)许可权。 此处指定的应用程序级访问许可权只能与节点级别上指定的访问许可权一样严格或更为严格。

此设置与“应用程序二进制文件”页上的文件许可权字段相同。

信息
数据类型 字符串

应用程序构建标识

指定一个不可编辑的字符串,此字符串标识应用程序的构建版本。

这个应用程序构建标识字段与“应用程序二进制文件”页上的应用程序构建级别字段相同。

信息
数据类型 字符串

业务级应用程序名称

指定产品是使用您要安装的企业应用程序来创建新的企业级应用程序,还是使企业应用程序成为现有业务级应用程序的组合单元。

缺省情况下,将使用设置值 WebSphere:blaname=Anyasset,blaedition=BASE 来创建新的企业级应用程序。 当您从下拉列表中选择创建新的企业级应用程序时,该产品将创建与企业应用程序同名的企业级应用程序。 如果已存在与您的企业应用程序同名的企业级应用程序,那么本产品不会创建新的企业级应用程序;它会将您的企业应用程序作为组合单元添加到该现有业务级应用程序。

如果您需要使用“共享库关系和映射设置”页面来指定业务级应用程序中现有共享库的依赖关系,请从下拉列表中选择业务级应用程序名称。 如果您选择创建新的企业级应用程序,并且已存在具有缺省名称的企业级应用程序,那么此页面中不会显示任何共享库。

要将企业应用程序添加至现有业务级应用程序,请从下拉列表中选择现有业务级应用程序。 该产品将使企业应用程序成为现有业务级应用程序的组合单元。

信息
数据类型 字符串
缺省值 创建与您要安装的企业应用程序同名的新业务级应用程序。

WebSphere:blaname=Anyasset,blaedition=BASE

异步请求分派类型

指定 Web 模块是否可以在不同线程上同时分派请求。如果可以这样做,那么还要指定是由服务器还是客户机来分派请求。 同时分派请求可以缩短 Servlet 响应时间。

如果操作之间互相依赖,请不要启用异步请求分派。 选择已禁用。 当操作互相依赖时,同时分派可能会导致错误。

选择服务器端以使服务器能够同时分派请求。 选择客户端以使客户机能够同时分派请求。

信息
数据类型 字符串
缺省值 已禁用

部署客户机模块

指定是否部署客户机模块。

如果要部署的文件含有一个或多个客户机模块,并且您要配置客户机模块的环境条目,请选择此选项(设置为 true)。 也可选择此选项来配置资源,例如,EJB 引用、资源引用、资源环境引用或消息目标引用。 选择此选项可让您查看“映射客户机模块的环境条目”页面。 如果要将客户机模块部署至 Deployment Manager 的联合节点(联合)或应用程序服务器(已部署的服务器),请选择此选项并将客户机部署方式设置为对部署目标适当的值:联合已部署的服务器

如果选择此选项,请将客户机模块仅安装到 V8.0 或更高版本的部署目标上。

信息
数据类型 Boolean
缺省值

客户机重新部署方式

指定是将客户机模块部署至隔离部署目标(隔离)、Deployment Manager 的联合节点(联合)还是应用程序服务器(已部署的服务器)。

客户机部署方式的选择会影响 java: 查找的处理方式。所有 Java URL 名称空间(全局、应用程序、模块和组件)都在隔离客户机进程本地。 这些名称空间驻留在服务器上联合的客户机进程和服务器部署的客户机进程中。 选择作为客户机模块的目标的服务器确定在何处创建这些名称空间。 联合或服务器部署的客户机模块的所有 java: 查找都定向到目标服务器。 客户机模块实际上未在目标服务器中运行。 同一客户机模块的多个实例都将以联合已部署的服务器方式共享此组件名称空间。 选择联合方式只是声明有使用 Java 网络启动协议 (JNLP) 启动客户机模块的意图,但联合的和已部署服务器的方式的 Java 命名和目录接口 (JNDI) 结构相同。

信息
数据类型 字符串
缺省值 隔离

验证模式

指定是否针对已发布 Java EE 部署描述符模式验证这些部署描述符。 如果选择此选项,那么产品会分析每个部署描述符以确定对应该部署描述符的 Java EE 规范版本,选择适当模式,然后针对 Java EE 部署描述符模式检查该部署描述符。 验证错误会产生错误消息。

Java EE 部署描述符模式又称为 DTD

如果选择此选项,请将应用程序或模块仅安装到 V8.0 或更高版本的部署目标上。

信息
数据类型 Boolean
缺省值