`
pengjianbo1
  • 浏览: 229807 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

打包用于部署的文件

阅读更多

打包用于部署的文件

WebLogic Server 支持使用 jar 实用工具或 Ant 的 jar 工具打包为归档文件或展开的归档目录的部署。

注意: 一般而言,将应用程序部署到受管服务器时使用归档文件效率更高。但是,这样做需要重新部署应用程序,因而导致更难以更新应用程序(如更新 Web 内容)。

使用归档的文件

归档文件是包含应用程序或模块的所有类、静态文件、目录和部署描述符文件的单个文件。在大多数生产环境中,会将管理员收到的要部署的应用程序存储为归档文件。

使用 jar 实用工具打包的部署单元根据类型具有特定的文件扩展名:

  • EJB 和客户端归档文件打包为 .jar 文件。
  • Web 应用程序打包为 .war 文件。
  • 资源适配器打包为 .rar 文件。
  • 企业应用程序打包为 .ear 文件,并且可以包含其他 J2EE 模块,如 EJB、JDBC、JMS、Web 应用程序和资源适配器。
  • 根据是使用 Java 类还是 EJB 实现 Web Service,可以将其打包为 .war 文件或 .jar 文件。通常情况下,之后会将 .war.jar 文件打包在企业应用程序 .ear 文件中。
  • J2EE 库打包为企业应用程序(.ear 文件)或标准的 J2EE 模块。
  • 客户端应用程序和可选包打包为 .jar 文件。

除归档文件外,您还会收到部署计划,即为特定环境配置应用程序的单独文件。配置应用程序以进行生产部署更加详细地描述了部署计划。

使用展开的归档目录

展开的归档目录包含的文件和目录与 JAR 归档文件包含的文件和目录相同。如果选择使用展开的归档目录,则需要手工将以前归档的部署解包。但是,这些文件和目录直接驻留在文件系统中,未使用 jar 实用工具打包到单个归档文件中。

在下列情况下,可以选择从展开的归档目录部署:

  • 要在部署后对企业应用程序进行部分更新。如果将企业应用程序部署为展开的归档目录,可以更加轻松地更新应用程序的各个模块,且不必重新创建归档文件。
  • 要部署的 Web 应用程序或企业应用程序包含要定期更新的静态文件。在这种情况下,因为可以在不重新创建归档文件的情况下更新和刷新静态文件,所以将应用程序部署为展开的目录更加方便。
  • 要部署的 Web 应用程序通过应用程序上下文执行直接文件系统 I/O(例如,尝试以动态方式编辑或更新 Web 应用程序自身的某些部分的 Web 应用程序)。在这种情况下,执行 I/O 操作的模块应该具有用于工作的物理文件系统目录;当根据规范将应用程序部署为归档文件时,无法获得文件。

从归档文件创建展开的归档目录

如果您有要部署为展开的归档目录的归档文件,请使用 jar 实用工具将专用目录中的归档文件解包。例如:

   mkdir /myapp

   cd /myapp

   jar xvf /dist/myapp.ear

如果要将包含其他模块归档文件的归档文件(例如,包括 JAR 或 WAR 文件的企业应用程序或 Web Service)解包,并且想要对这些模块进行部分更新,则必须也将嵌入式归档文件展开。确保将每个模块解包到与归档文件同名的子目录中。例如,将名为 myejb.jar 的模块解包到展开的企业应用程序目录的 /myejb.jar 子目录中。

注意: 如果要为展开的 EAR 文件中的归档模块使用不同的子目录名称,必须修改应用程序自身当中对这些模块的所有引用。例如,必须更新在 manifest.mf 文件的 application.xmlCLASSPATH 条目中指定的 URI 值。

 


了解默认部署名称

首次将应用程序或独立模块部署到一个或多个 WebLogic Server 实例时,请指定部署名称以在总体上描述部署文件、目标服务器以及您选择的其他配置选项。以后只需使用该部署名称便可以在所有目标服务器上重新部署或停止部署单元。如果使用部署名称,当要在域中的服务器间使用部署单元时,不必重新标识部署文件和目标服务器。

如果部署时不指定部署名称,则部署工具会根据部署源文件选择默认名称。对于归档文件,weblogic.Deployer 使用不带文件扩展名的归档文件名。例如,文件 myear.ear 的默认部署名称为 myear。对于展开的归档目录,weblogic.Deployer 使用您部署的顶级目录的名称。

对于 J2EE 库和可选包,weblogic.Deployer 使用在库的清单文件中指定的名称。如果未在库的清单文件中指定名称,则可以使用 -name 选项指定一个。

有关应用程序命名要求的信息,请参阅以下部分了解应用程序命名要求;要指定非默认部署名称,请参阅使用 weblogic.deployer 部署应用程序和模块

 


了解应用程序命名要求

若要成功地将应用程序部署到 WebLogic Server,应用程序名必须有效。应用程序命名要求如下:

  • 应用程序名必须只包含下列字符:
    • a-z
    • A-Z
    • 0-9
    • _(下划线)
    • -(连字符)
    • .(句点)

      应用程序名中不得有其他字符。

  • 包含“.”字符的应用程序名必须至少包含另一个不同的字符;“.”和“..”都是无效的应用程序名。
  • 应用程序名的长度必须少于 215 个字符。

 


了解部署版本字符串

除了部署名称以外,应用程序或模块还可以具有相关联的版本字符串。版本字符串将应用程序的初始部署与以后重新部署的版本区分开。例如,您可能想要在以后更新应用程序以修复问题或添加新功能。在生产系统中,为应用程序的初始部署和后续部署维护版本字符串至关重要。如果这样做,可以在不中断现有客户端的服务的情况下更新和重新部署应用程序版本。有关详细信息,请参阅在生产环境中重新部署应用程序

版本字符串在应用程序的清单文件中指定,应由开发小组与其他部署文件一起提供。“使用 WebLogic Server 开发应用程序”中的分配应用程序版本描述用于指定版本字符串的约定。

 


创建应用程序安装目录

应用程序安装目录将生成的配置文件与核心应用程序文件分开,以便可以在不干扰应用程序本身的情况下轻松地更改或替换配置文件。目录结构也可帮助您组织和维护相同应用程序部署文件的多个版本。

下图显示用于存储可部署应用程序或模块的单个版本的应用程序安装目录层次。

图 3-1 应用程序安装目录

 

BEA 建议先将所有新生产部署复制到应用程序安装目录中,然后再部署到 WebLogic Server 域。从此目录结构进行部署可帮助您轻松地标识与部署单元相关联的所有文件 - 只需使用管理控制台部署安装根目录,控制台便会自动查找在配置期间生成的关联文件,如部署计划和 WebLogic Server 部署描述符。

创建应用程序安装目录的步骤

要创建应用程序安装目录,请执行下列操作:

  1. 在系统上选择要用于存储应用程序和模块的部署文件的顶级目录。使用下列最佳做法:
    • 不要将部署文件存储在 WebLogic Server 域目录中。
    • 如果源控件适用于维护部署源文件,请使用源控件。
    • 如果可能,请将部署文件存储在域中的管理服务器和受管服务器可以访问的目录中。

      后面的说明使用示例部署目录 c:\deployments\production

  2. 为要部署的应用程序或模块创建专用子目录:
    mkdir c:\deployments\production\myApplication
  3. 在该应用程序目录下创建一个子目录以指定要部署的应用程序的版本。使用应用程序的准确版本字符串命名该子目录。例如:
    mkdir c:\deployments\production\myApplication\91Beta
  4. 版本子目录将成为从中部署该目录的安装根目录。在版本子目录下创建名为 appplan 的子目录:
    mkdir c:\deployments\production\myApplication\91Beta\app
    mkdir c:\deployments\production\myApplication\91Beta\plan
    注意: 如果有多个部署计划与应用程序相关联,请为每个计划创建一个 \plan 子目录。例如,如果有两个部署计划与应用程序 myApplication91Beta 版本相关联,请创建两个 \plan 子目录。例如:
    mkdir c:\deployments\production\myApplication\91Beta\plan1
    mkdir c:\deployments\production\myApplication\91Beta\plan2
  5. 将应用程序源部署文件复制到 \app 子目录中。如果要从归档文件部署,只需复制该归档文件,如下所示:
    cp c:\downloads\myApplication.ear c:\deployments\production\myApplication\91Beta\app

    如果要从展开的归档目录部署,请将整个展开的归档目录复制到 \app 中:

    cp -r c:\downloads\myApplication c:\deployments\production\myApplication\91Beta\app

    这会生成新目录 c:\deployments\production\myApplication\91Beta\app\myApplication

  6. 如果应用程序有一个或多个部署计划,请将它们复制到 \plan 子目录中。

    如果应用程序有一个部署计划:

    cp c:\downloads\myApplicationPlans\plan.xml c:\deployments\production\myApplication\91Beta\plan

    如果应用程序有两个部署计划:

    cp c:\downloads\myApplicationPlans\plan1.xml c:\deployments\production\myApplication\91Beta\plan1
    cp c:\downloads\myApplicationPlans\plan2.xml c:\deployments\production\myApplication\91Beta\plan2
    注意: 如果没有现有的部署计划,可以按照配置应用程序以进行生产部署中的描述使用管理控制台创建一个。管理控制台会自动将新生成的部署计划存储在应用程序安装目录的 \plan 子目录中。
  7. 要使用管理控制台安装应用程序,请选择应用程序安装目录。默认情况下,管理控制台使用名为 plan.xml 的计划(如果 \plan 子目录中有该计划)。管理控制台无法标识除 \plan 子目录以外的其他子目录中的计划。换句话说,管制控制台无法标识 \plan1 或 \plan2 子目录中的计划。因此,如果应用程序有多个计划可用,必须在 config.xml 中指出要使用的计划。请参阅配置应用程序以进行生产部署。有关 config.xml 的信息,请参阅“Creating WebLogic Domains Using the Configuration Wizard”。

    安装应用程序后,可以根据需要配置、部署或分发应用程序。

    注意: 使用 weblogic.Deployer 工具时无法指定应用程序安装目录,默认情况下,该工具不使用可用的 plan.xml 文件。您必须指定实际部署文件和计划以用于部署。请参阅使用 weblogic.deployer 部署应用程序和模块

 


用于准备部署文件的最佳做法

BEA 建议在准备应用程序和模块以进行部署时使用下列最佳做法:

  • 无论是部署归档文件还是部署展开的归档目录,请将部署文件存储在应用程序的安装目录中,如创建应用程序安装目录中所述。使用安装目录可简化部署过程,原因是:管理控制台知道在何处查找部署和配置文件。
  • 管理源控制系统中的整个应用程序安装目录,以便可以在需要时轻松地恢复到以前的应用程序版本
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics