使用此页面来指定用于将 Java Platform, Enterprise Edition (Java EE) 应用程序安装到 WebSphere® Application Server 部署目标的选项。如果您未指定选项值,就会使用缺省值。安装应用程序后,可以从企业应用程序设置页面中为这些选项中的许多选项指定值。
要查看此管理控制台页面,请单击,然后在“准备安装应用程序”页面上根据应用程序的需要指定值。
“选择安装选项”页面与应用程序安装和更新向导中的该页面相同。
指定是否在安装过程中预编译 JavaServer Pages(JSP)文件。缺省情况为不预编译 JSP 文件。
对于此选项,只能安装到 V9.0 部署目标上。
如果选择了预编译 JavaServer Pages 文件并尝试将应用程序安装到较低版本(例如 V8)的部署目标上,那么安装将被拒绝。只能将应用程序部署到与该产品版本相同的部署目标上。如果应用程序所面向的服务器的版本比产品旧,那么不能部署到那些目标。
| 信息 | 值 |
|---|---|
| 数据类型 | 布尔值 |
| Default | False |
指定企业归档 (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} 变量被设置为所指定的路径。
如果希望将应用程序从一个单元导出并且稍后将导出的应用程序安装在另一单元上,那么请为该应用程序的初始安装指定 ${CELL} 变量。例如,为此设置指定 ${APP_INSTALL_ROOT}/${CELL}。导出该应用程序会创建包含该应用程序及其部署配置的增强 EAR 文件。除非指定了 ${CELL} 变量,否则该部署配置将初始安装的单元名称保留目标目录中。指定 ${CELL} 变量会确保目标目录具有当前单元名称但没有原始单元名称。
导出的 EAR 文件是一个具有应用程序及其部署配置的已增强 EAR 文件。部署配置保留用于先前应用程序安装的应用程序安装目录值。如果没有为此安装的应用程序安装目录指定其他值,那么已增强的 EAR 文件将被安装到用于先前安装的目录中。
如果在初始安装期间未指定 ${CELL} 变量,那么部署配置将使用目标目录中初始安装的单元名。如果要安装到其他单元,请指定 ${APP_INSTALL_ROOT}/cell_name/application_name.ear,其中 cell_name 是安装已增强 EAR 文件的单元的名称。如果未指定当前单元名称,那么 cell_name 将是原始单元名称,即使您要将已增强的 EAR 文件安装到具有不同名称的单元亦如此。
既可以指定绝对路径也可以使用路径映射变量(例如 ${MY_APPS})。可以在任何安装中使用路径映射变量。
在包含异构节点成员的集群中安装应用程序时,路径映射变量特别有用。这是因为,在此类情况下,可能有不止一种方法来指定绝对路径。路径映射变量还可以包含指示当前单元名称的 WebSphere Application Server 变量 ${CELL};例如,${MY_APP}/${CELL}。可以在“WebSphere 变量”页面(通过单击访问此页面)中定义 WebSphere Application Server 变量。
![[IBM i]](../iseries.gif)
避免故障:在分布式操作系统环境中,路径映射变量的作用域起始于 Node Agent 级别作用域,而不是服务器级别作用域。如果在 Node Agent 级别作用域中找不到该变量,那么接着会在节点级别作用域中查找该变量,最终会在单元级别作用域中查找该变量。gotcha这个应用程序安装目录字段与“应用程序二进制文件”页上的位置(完整路径)设置相同。
| 信息 | 值 |
|---|---|
| 数据类型 | 字符串 |
| 单位 | 完整路径名 |
指定产品在安装期间是否在安装位置中展开应用程序二进制文件并在卸载期间删除那些应用程序二进制文件。缺省情况是启用应用程序分发。已安装的应用程序的应用程序二进制文件将展开到指定的目录中。
在单服务器产品中,当您卸载应用程序并保存对配置的更改时,这些二进制文件将被删除。
在多服务器产品中,当您卸载应用程序并保存对配置的更改并同步更改时,这些二进制文件将被删除。
如果禁用了此选项,那么必须确保在所有运行该应用程序的节点上的目标目录中适当地展开应用程序二进制文件。
避免故障:如果禁用了此选项,并且未将应用程序二进制文件复制到节点并将它们展开,那么,以后保存配置或手动进行同步时,不会将那些应用程序二进制文件移至那些节点。gotcha这个分发应用程序字段与“应用程序二进制文件”页上的允许分发、展开以及在卸载后清除二进制文件设置相同。
| 信息 | 值 |
|---|---|
| 数据类型 | 布尔值 |
| Default | true |
指定应用程序服务器是使用与应用程序部署文档 deployment.xml 文件放在一起的绑定、扩展和部署描述符(缺省情况)还是使用企业归档 (EAR) 文件中的那些内容。仅对安装在 V6.0 或更高版本的部署目标上的应用程序选择此设置。
缺省情况 (false) 是使用 deployment.xml 文件中的绑定、扩展和部署描述符。要使用位于 EAR 文件中的绑定、扩展和部署描述符,请启用此设置(值为 true)。
这个使用二进制文件配置字段与“应用程序二进制文件”页上的使用二进制文件中的配置信息设置相同。
| 信息 | 值 |
|---|---|
| 数据类型 | 布尔值 |
| Default | False |
指定安装应用程序期间是否运行 EJBDeploy 工具。
如果 EJB 模块打包到 Web 归档 (WAR) 中,那么不必启用此设置。
EJB 部署工具将在安装 EJB 1.x 或 2.x 模块期间运行。在安装 EJB 3.x 模块期间,不会运行 EJB 部署工具。
对于此选项,只能安装到 V9.0 部署目标上。
如果选择了部署企业 Bean 并尝试将应用程序安装到较低版本(例如 V8)的部署目标上,那么安装将被拒绝。只能将应用程序部署到 WebSphere 版本与产品相同的目标上。如果应用程序所面向的服务器的版本比产品旧,那么不能部署到那些目标。
并且,如果选择了部署企业 Bean 并在提供选项以执行 EJB 部署页面上指定了数据库类型,那么先前为所有 EJB 模块定义的后端标识都将被选择的数据库类型覆盖。要启用各个 EJB 模块的后端标识,请在提供选项以执行 EJB 部署页面上将数据库类型设置为 "" (NULL)。
启用此设置可能会使安装程序运行几分钟。
| 信息 | 值 |
|---|---|
| 数据类型 | 布尔值 |
| Default | true(对于 EJB 3.0 模块,则为 false) |
指定应用程序的逻辑名。应用程序名在单元中必须是唯一的,并且不能包含不受支持的字符。
应用程序名不能以句点 (.) 开头,前面和后面都不能包含空格,并且不能包含以下任何字符:
| 不受支持的字符 | ||
|---|---|---|
| /⁄ 正斜杠 | $ 美元符 | ' 单引号 |
| \ 反斜杠 | = 等号 | " 双引号 |
| * 星号 | % 百分号 | | 竖线 |
| , 逗号 | + 加号 | < 左尖括号 |
| : 冒号 | @ at 符号 | > 右尖括号 |
| ; 分号 | # # 号 | &(与符号) |
| ? 问号 | ]]> 此字符组合没有特定的名称 | |
此应用程序名称字段与“企业应用程序设置”页面上的名称设置相同。
| 信息 | 值 |
|---|---|
| 数据类型 | 字符串 |
指定应用程序启动时是否为该应用程序中的资源(例如 Servlet 或 JSP 文件)创建 MBean。缺省情况是创建 MBean。
此字段与“启动行为”页上的为资源创建 MBean 设置相同。
| 信息 | 值 |
|---|---|
| 数据类型 | 布尔值 |
| Default | true |
指定产品运行时是否在应用程序运行时检测应用程序类的更改。如果启用了此设置,并且应用程序类被更改,那么将停止并重新启动该应用程序以重新装入已更新的类。
缺省情况是不启用类重新装入。
此字段与“类装入和更新检测”页面上的覆盖 Web 模块和 EJB 模块的类重新装入设置设置相同。
| 信息 | 值 |
|---|---|
| 数据类型 | 布尔值 |
| Default | False |
指定扫描应用程序的文件系统以查找已更新文件的间隔秒数。缺省值为 EAR 文件的 IBM® 扩展 (META-INF/ibm-application-ext.xmi) 文件中的重新装入时间间隔属性值。
仅当启用了类重新装入功能时,重新装入时间间隔属性才会生效。
要启用重新装入功能,请指定大于零的值(例如 1 到 2147483647)。要禁用重新装入功能,请指定零 (0)。范围从 0 到 2147483647。
这个重新装入时间间隔(以秒计)字段与“类装入和更新检测”页面上的轮询已更新文件的时间间隔设置相同。
| 信息 | 值 |
|---|---|
| 数据类型 | Integer |
| 单位 | 秒 |
| Default | 3 |
受支持的配置:对于 IBM 扩展文件和绑定文件,根据您使用的是 Java EE 5 之前的应用程序或模块还是
Java EE 5 或之后的应用程序或模块,.xmi 或 .xml 文件扩展名有所不同。IBM 扩展文件或绑定文件将命名为
ibm-*-ext.xmi 或 ibm-*-bnd.xmi,其中 * 是扩展文件或绑定文件的类型,例如,app、application、ejb-jar 或 web。存在下列条件:
然而,Java EE 5 或更高版本的模块可以在包含 Java EE 5 之前的文件并使用 .xmi 文件扩展名的应用程序中存在。
ibm-webservices-ext.xmi、ibm-webservices-bnd.xmi、ibm-webservicesclient-bnd.xmi、ibm-webservicesclient-ext.xmi 和 ibm-portlet-ext.xmi 文件继续使用 .xmi 文件扩展名。
sptcfg指定安装应用程序期间是否运行 Web Service 部署工具 wsdeploy。
此工具生成使用 Web Service 运行应用程序所需的代码。缺省情况是不运行 wsdeploy 工具。如果 EAR 文件包含使用 Web Service 的模块,但是先前未对那些模块运行 wsdeploy 工具(使用组装工具的部署菜单选项或者从命令行运行该工具),那么必须启用此设置。
对于此选项,只能安装到 V9.0 部署目标上。
如果选择了部署 Web Service 并尝试将应用程序安装到旧版本的部署目标上,那么将拒绝安装。只能将应用程序部署到与该产品版本相同的目标上。如果应用程序所面向的服务器的版本比产品旧,那么不能部署到那些目标。
| 信息 | 值 |
|---|---|
| 数据类型 | 布尔值 |
| Default | False |
指定产品在应用程序安装或更新期间是否检查应用程序引用,并且,如果启用验证,是发出警告指示错误引用还是使操作失败。
通常,应用程序使用数据源(对于容器管理的持久性 (CMP) Bean)或者使用部署描述符中定义的资源引用或资源环境引用来引用资源。验证操作检查在应用程序的部署目标作用域中是否定义了该应用程序引用的资源。
选择关闭表示不进行资源验证,选择警告表示发出关于资源引用错误的警告消息,选择失败表示停止由于资源引用错误而失败的操作。
这个验证输入:关/警告/失败字段与“企业应用程序设置”页面上的应用程序引用验证设置相同。
| 信息 | 值 |
|---|---|
| 数据类型 | 字符串 |
| Default | 警告 |
指定是否应该处理嵌入式配置。嵌入式配置包括诸如 resource.xml、variables.xml 和 deployment.xml 之类的文件。您可以收集特定于产品的部署信息并将其存储在应用程序 EAR 文件中。然后,可以使用应用程序管理界面将此 EAR 文件安装到服务器配置。
这样一个应用程序 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 是首次安装应用程序的单元。如果首次安装应用程序时,为应用程序安装目录指定了 $(CELL) 变量,那么安装过程将在 profile_root/installedApps/current_cell_name 目录中展开增强型 EAR 文件。
| 信息 | 值 |
|---|---|
| 数据类型 | 布尔值 |
| Default | false(已取消选中) |
指定已展开到所指定目录中的已安装应用程序的应用程序二进制文件访问许可权。
必须启用分发应用程序选项才能指定文件许可权。
可以在文本字段中指定文件许可权。还可以通过从多选项列表中选择某些常用的文件许可权来设置这些许可权。列表选项将覆盖文本字段中设置的文件许可权。
可以在列表中设置下列一个或多个文件许可权字符串。如果选择多个选项,就会将文件许可权字符串组合到一起。
| 多选项列表选项 | 设置的文件许可权字符串 |
|---|---|
| 允许读取所有文件,但不允许写 | .*=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_pattern 和 permission 条目之间的分隔符。如果 file_name_pattern 字符串包含字符 #,请改为使用 \#。
如果字符串中的多个文件名模式和文件许可权与应用程序中的统一资源标识 (URI) 匹配,那么产品会将最严格的适用文件许可权用于该文件。例如,如果文件许可权字符串是 .*\\.jsp=775#a.*\\.jsp=754,那么 abc.jsp 文件的文件许可权为 754。
最佳实践:如果使用正则表达式作为文件匹配模式,那么会将整个字符串 URI 与指定的文件许可权模式作比较。必须按照 Java 编程 API 定义的方式使用正则表达式来提供更精确的匹配模式。例如,假定在文件许可权操作期间处理下列目录和文件 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 |
文件模式匹配结果如下:
/opt/WebSphere/profiles/AppSrv01/installedApps/MyCell/MyApp.ear/MyWarModule.war/MyJsp.jsp
并且,指定以下文件模式字符串:.*MyApp.ear$=755#.*\.jsp=644
文件模式匹配结果如下:
最佳实践:在文件模式中,始终使用正斜杠 (/) 作为文件路径分隔符,而与操作系统无关。最佳实践
在 Windows 操作系统上,不能取消设置对文件的读许可权。对于
POSIX 样式许可权位,用于表示文件可读的位是 4,可写的位是 2,可执行的位是 1。因此,在
Windows 操作系统上,文件许可权是 5 或 7。并且,对于 POSIX 样式,还有用户、组和全局许可权。在 Windows 操作系统上,只能对文件设置用户许可权。组和全局许可权位将被忽略。
此处指定的访问许可权是应用程序级访问许可权。也可以在节点级别配置中指定应用程序二进制文件的访问许可权。节点级别文件许可权指定可以授予应用程序二进制文件的最大(最不严格)许可权。此处指定的应用程序级访问许可权只能与节点级别上指定的访问许可权一样严格或更为严格。
此设置与“应用程序二进制文件”页上的文件许可权字段相同。
| 信息 | 值 |
|---|---|
| 数据类型 | 字符串 |
指定一个不可编辑的字符串,此字符串标识应用程序的构建版本。
这个应用程序构建标识字段与“应用程序二进制文件”页上的应用程序构建级别字段相同。
| 信息 | 值 |
|---|---|
| 数据类型 | 字符串 |
指定应用程序是否可以通过标准请求分派器机制,将包含请求分派到位于受管节点中不同 Java 虚拟机的 Web 模块的资源。
此字段与“远程请求分派属性”页上的允许将包含请求分派到远程资源字段相同。
| 信息 | 值 |
|---|---|
| 数据类型 | 布尔值 |
| Default | False |
指定企业应用程序是否可以向来自应用程序的包含请求提供服务。
此字段与“远程请求分派属性”页上的允许向来自远程资源的包含请求提供服务 字段相同。
| 信息 | 值 |
|---|---|
| 数据类型 | 布尔值 |
| Default | False |
指定产品是使用您要安装的企业应用程序来创建新的企业级应用程序,还是使企业应用程序成为现有业务级应用程序的组合单元。
缺省情况下,将使用设置值 WebSphere:blaname=Anyasset,blaedition=BASE 来创建新的企业级应用程序。当您从下拉列表中选择创建新的企业级应用程序时,该产品将创建与企业应用程序同名的企业级应用程序。如果已存在与您的企业应用程序同名的企业级应用程序,那么本产品不会创建新的企业级应用程序;它会将您的企业应用程序作为组合单元添加至该现有业务级应用程序。
如果您需要使用“共享库关系和映射设置”页面来指定业务级应用程序中现有共享库的依赖关系,请从下拉列表中选择业务级应用程序名称。如果您选择创建新的企业级应用程序,并且已存在具有缺省名称的企业级应用程序,那么此页面中不会显示任何共享库。
要将企业应用程序添加至现有业务级应用程序,请从下拉列表中选择现有业务级应用程序。该产品将使企业应用程序成为现有业务级应用程序的组合单元。
| 信息 | 值 |
|---|---|
| 数据类型 | 字符串 |
| Default | 创建与您要安装的企业应用程序同名的新业务级应用程序。 WebSphere:blaname=Anyasset,blaedition=BASE |
指定 Web 模块是否可以在不同线程上同时分派请求。如果可以这样做,那么还要指定是由服务器还是客户机来分派请求。同时分派请求可以缩短 Servlet 响应时间。
如果操作之间互相依赖,就不要启用异步请求分派。选择已禁用。当操作互相依赖时,同时分派可能会导致错误。
选择服务器端以使服务器能够同时分派请求。选择客户端以使客户机能够同时分派请求。
| 信息 | 值 |
|---|---|
| 数据类型 | 字符串 |
| Default | 已禁用 |
指定该产品是为不完整的 EJB 引用目标指定缺省 JNDI 值,还是自动解析不完整的 EJB 引用目标。
如果引用来源于 EJB 2.1 或更早版本的模块或者来源于 Web 2.3 或更早版本的模块,那么请选择此选项以使自动解析 EJB 引用目标。如果启用此选项,那么运行时容器将提供缺省值或者自动解析任何没有绑定的 EJB 引用的 EJB 引用。
如果在“准备安装应用程序”页面上选择了生成缺省绑定,那么不需要选择此选项。该产品将生成缺省值。
如果选择了允许自动解析 EJB 引用目标,那么应用程序中的所有模块必须共享同一个部署目标。如果您选择此选项,而所有应用程序模块未共享一个公共服务器,那么在您单击“摘要”页面上的完成之后,该产品将显示一条警告消息并且不安装该应用程序。必须取消选择此设置,然后再单击完成以安装应用程序。
| 信息 | 值 |
|---|---|
| 数据类型 | 布尔值 |
| Default | False |
指定是否部署客户机模块。
如果要部署的文件含有一个或多个客户机模块,并且您要配置客户机模块的环境条目,请选择此选项(设置为 true)。也可选择此选项来配置资源,例如,EJB 引用、资源引用、资源环境引用或消息目标引用。选择此选项可让您查看“映射客户机模块的环境条目”页面。如果要将客户机模块部署至 Deployment Manager 的联合节点(联合)或应用程序服务器(已部署的服务器),请选择此选项并将客户机部署方式设置为对部署目标适当的值:联合或已部署的服务器。
如果选择此选项,请将客户机模块仅安装到 V8.0 或更高版本的部署目标上。
| 信息 | 值 |
|---|---|
| 数据类型 | 布尔值 |
| Default | False |
指定是将客户机模块部署至隔离部署目标(隔离)、Deployment Manager 的联合节点(联合)还是应用程序服务器(已部署的服务器)。
客户机部署方式的选择会影响 java: 查找的处理方式。所有 Java URL 名称空间(全局、应用程序、模块和组件)都在隔离客户机进程本地。这些名称空间驻留在服务器上联合的客户机进程和服务器部署的客户机进程中。被选中作为客户机模块的目标的服务器或集群确定在何处创建这些名称空间。针对联合的或已部署服务器的客户机模块的所有 java: 查找都被引导至目标服务器或集群。客户机模块不会实际在目标服务器或集群中运行。同一客户机模块的多个实例都将以联合和已部署的服务器方式共享此组件名称空间。选择联合方式只是声明有使用 Java 网络启动协议 (JNLP) 启动客户机模块的意图,但联合的和已部署服务器的方式的 Java 命名和目录接口 (JNDI) 结构相同。
| 信息 | 值 |
|---|---|
| 数据类型 | 字符串 |
| Default | 隔离 |
指定是否针对已发布 Java EE 部署描述符模式验证这些部署描述符。如果选择此选项,那么产品会分析每个部署描述符以确定对应该部署描述符的 Java EE 规范版本,选择适当模式,然后针对 Java EE 部署描述符模式检查该部署描述符。验证错误会产生错误消息。
Java EE 部署描述符模式又称为 DTD。
如果选择此选项,请将应用程序或模块仅安装到 V8.0 或更高版本的部署目标上。
| 信息 | 值 |
|---|---|
| 数据类型 | 布尔值 |
| Default | False |