`
pengjianbo1
  • 浏览: 232576 次
  • 性别: 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 建议在准备应用程序和模块以进行部署时使用下列最佳做法:

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

相关推荐

    winform打包和部署

    ### WinForm程序打包与部署详解 #### 一、概述 在软件开发过程中,尤其是在使用WinForm进行桌面应用程序开发时,最终需要将开发完成的应用程序打包成安装程序,以便于用户能够在未安装.NET Framework的计算机上...

    vs2010打包和部署

    请注意,虽然上述步骤涵盖了基本的打包和部署流程,但在实际操作中,你可能还需要处理兼容性问题、许可证文件、启动条件、卸载逻辑等复杂情况。对于更复杂的部署需求,可能需要使用更高级的部署工具,如WiX工具集或...

    最新已打包azkaban文件,可以直接用于部署

    Azkaban是一款开源的工作流执行引擎,主要用于大数据处理工作流的调度和管理。这个压缩包包含Azkaban的四个主要组件,便于用户直接部署和运行项目。以下是对这些组件的详细解释: 1. **Azkaban Executor Server ...

    java web项目打包war部署到tomcat

    WAR(Web Application Archive)是一种用于打包Java Web应用程序的标准格式,它包含了运行应用程序所需的所有资源,如HTML、CSS、JavaScript文件以及Java类等。 #### 手动打包WAR文件 手动打包WAR文件是一种较为...

    .net程序打包与部署

    ### .NET程序打包与部署详解 #### 一、创建部署项目 在.NET程序开发完成后,为了便于分发和安装,我们需要将其打包成一个易于安装的形式。这个过程通常涉及到创建一个部署项目。 1. **选择“文件”** → **新建...

    详解Vue+elementUI build打包部署后字体图标丢失问题

    在Web开发中,使用Vue和Element UI进行项目构建时,打包部署后经常会遇到字体图标丢失的问题,这主要是因为在构建过程中对资源路径处理不当导致的。本文将详细解析Vue项目中使用Element UI时,如何解决打包部署后的...

    SpringCloudAlibaba微服务docker容器打包和部署示例实战.doc

    SpringCloudAlibaba 微服务 Docker 容器打包和部署示例实战 本篇文章将详细讲解如何使用 SpringCloudAlibaba 框架创建库存微服务和订单微服务,实现服务注册与发现,并将微服务部署到 Docker 容器中。 知识点1:...

    QT5.9.1 Windows 工程打包部署

    在添加执行软件包打包部署时,需要在参数栏添加自定义的目录下的 exe 文件,红框里是自定义的目录,exe 前的字串可不用修改。工作目录既是自定义的目录。 三、使用 NSIS 工具对安装包进行封装 NSIS 工具是一个功能...

    java 打包可执行文件

    在Java编程中,将代码打包成可执行文件是常见的需求,尤其在分发软件或部署应用程序时。这个过程通常涉及到JAR(Java Archive)文件的创建,它是一种用于收集多个类文件、相关的元数据和资源文件的容器。下面将详细...

    Java项目包 Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署

    在自动化部署中,Maven 负责编译源代码、运行测试、打包应用为可部署的JAR或WAR文件。 3. **Gitlab**:Gitlab 是一个用于版本控制和协作的代码托管平台,支持Git仓库管理和持续集成/持续部署(CI/CD)。在这里,...

    c#中使用 crystal reports (水晶报表)的打包和部署

    在C#中集成Crystal Reports(水晶报表)进行打包与部署是一项关键技能,尤其对于那些希望在应用程序中嵌入复杂报告功能的开发人员来说。本文将深入探讨如何在C#项目中有效利用Crystal Reports,以及如何确保正确无误...

    Asp.net与SQL一起打包部署安装

    Asp.net 与 SQL 一起打包部署安装 Asp.net 与 SQL 一起打包部署安装是指将 Asp.net 应用程序和 SQL 数据库一起部署到目标机器上,而不需要手动安装 SQL 数据库和 Asp.net 应用程序。这种部署方式可以简化应用程序的...

    用于VS2013&VS2015的打包安装部署扩展项目安装文件

    标题提及的"用于VS2013&VS2015的打包安装部署扩展项目安装文件"主要是为了简化开发者在VS2013和VS2015环境下创建和部署安装程序的流程。这些工具使得开发人员能够生成易于安装的软件包,同时降低了配置的复杂性。 ...

    如何将文件打包到安装文件

    在压缩包的文件列表中,我们看到了各种与Delphi项目相关的文件,如Project1.deployproj(部署项目文件),用于定义应用程序的部署策略;Unit1.pas(Pascal源代码文件)包含了程序的逻辑代码;Unit1.fmx和Unit1....

    .Net打包部署文档

    在.NET开发中,打包和部署项目是将应用程序准备就绪以便在目标机器上运行的关键步骤。以下是一个详细的C# .NET打包部署过程的概述: 1. **构建项目**: 开始时,你需要构建一个C#项目,例如一个简单的Windows窗体...

    net-web打包部署

    打包部署的目标是将这些应用程序及其依赖项整合到一个可执行的文件或文件集合中,以便在目标环境中顺畅运行。 1. **构建与发布**:在Visual Studio等IDE中,开发者可以设置项目属性,选择“发布”选项来生成部署包...

    EJB配置部署打包实例

    2. **部署文件**:除了ejb-jar.xml,还需要一个全局的weblogic-ejb-jar.xml(针对WebLogic服务器)或jboss-ejb3.xml(针对JBoss服务器)来指定服务器特定的配置。 3. **部署过程**:将EJB的JAR文件(包含bean类、...

    用于VS2013&VS2015的打包安装部署扩展项目安装文件(英文版)

    总的来说,"用于VS2013&VS2015的打包安装部署扩展项目安装文件(英文版)" 提供了一种方便的方式来创建适用于这两个版本Visual Studio的安装程序,帮助开发者将复杂的开发成果转化为用户友好的安装体验。对于那些使用...

    python3.6及Django打包exe文件详细教程

    1. PyInstaller 3.3及以上版本:用于将Python脚本打包成EXE文件。推荐使用3.4版本。 2. Pywin32:Python访问Windows API的库,对于打包Django项目是必需的。 三、Pywin32安装 根据你的Python版本(32位或64位)下载...

Global site tag (gtag.js) - Google Analytics