构建 GlassFish V2.1.1 项目
对于 GlassFish V3,请参阅此处的构建页面
构建 GlassFish 的先决条件
快速入门指南
完整构建说明
通过 NetBeans IDE 进行 GlassFish 构建
从分支构建
GlassFish Maven 目标概述

此页面介绍如何构建 GlassFish V2。如果您要提交错误请求功能,此处的链接非常有用。您可以在此处找到管理策略。

有关如何构建 GlassFish V2 的完整说明

GlassFish 可通过 NetBeans 或使用命令行选项来构建。以下文章介绍了有关通过 NetBeans 构建和开发 GlassFish 项目的更多信息。用于构建 GlassFish 的命令行选项如下。

构建 GlassFish 的先决条件:
  • 用户必须已安装 Maven (1.0.2):这将创建 Maven 所需的本地系统信息库以存储 GlassFish 依赖性。
  • 用户必须能够登录到 java.net,并且必须能够访问 GlassFish 项目的 CVS 系统信息库。
  • 用户必须登录一次 GlassFish CVS 系统信息库(以便 CVS 在用户主目录的 .cvspass 文件中保存密码)
  • 必须安装 J2SE 5.0 (1.5.0_12),并将其配置为 JAVA_HOME 环境变量并置于二进制路径中。我们建议您使用可用的最新版本。
  • 根据 java.net 的说明设置 cvs 客户端
GlassFish 构建步骤:
第一步是签出构建系统中使用的模块依赖性和通用文件并编辑属性文件。
% mkdir workspace
% cd workspace
% cvs -d :pserver:<userid>@cvs.dev.java.net:/cvs checkout -r SJSAS91_FCS_BRANCH glassfish/bootstrap
这将签出 project.xml、maven.xml、project.properties 以及从 project.xml 引用的通用文件。
创建 workspace/glassfish/bootstrap/build.properties 或对于可重用的 GlassFish 工作区,一次性过程是创建 ${HOME}/build.properties (Unix) 或 %HOMEPATH%\build.properties (Windows) 并设置以下变量:(您可以通过运行 echo %HOMEPATH% 命令获得 %HOMEPATH% 值或运行 "set" 并查找 HOMEPATH 变量 (windows))
使用上述方法,定义两个 glassfish 变量 glassfish.os.name 和 glassfish.cvs.username。
glassfish.os.name= <操作系统名称 - 可能的值为 WINNT、SunOS、Linux、SunOS_X86、Darwin>
glassfish.cvs.username= <java.net id>
    例如,在 Windows XP Professional 中

glassfish.os.name=WINNT
glassfish.cvs.username=carlavmott

  • 接下来,签出这些源。
  • % cd glassfish/bootstrap
    % maven checkout
    已知限制:构建 GlassFish 所需的某些源可能在 java.net 上并非立即可用(例如 MQ、ORB、JWSDP 2.0 等)。这些将被暂时视为二进制依赖库。(有关如何使用二进制依赖库,请参见下一步。)您还可以通过调用以下命令签出模块的子集:
    % maven checkout -Dmodules=[逗号分隔的模块名称列表]   

    模块名称位于此页面中。

  • 引导服务器映像(用于运行 glassfish 的一组脚本和 jar 文件)。开发人员可以选择 "bootstrap" 选项,该选项下载预构建的服务器并且仅构建模块的子集。另一个选项 "bootstrap-all" 用于从头开始创建服务器,并且构建所有模块以验证模块之间或二进制依赖库的版本更改。

  • bootstrap-all 选项:从源构建所有模块。
    % maven bootstrap-all 
    bootstrap 选项:使用预构建的服务器构建您自己的模块
    % maven bootstrap
    如果您已经安装了 GlassFish 的提升版本 (promoted build),则此步骤是可选的。要使用提升版本,您需要设置 glassfish/project.properties 中的属性。
    glassfish.image.version=<<构建版本>>
    这将导致构建系统“指向”该安装。此属性还可以添加到 ${HOME}/build.properties 中

  • 构建签出的源代码。编译顺序将由上述步骤 2 中签出的通用配置文件决定。此步骤将在编译完每个模块后更新已安装的映像
  • % maven build
    您始终可以通过调用以下命令来构建模块的子集:
    % maven build -Dmodules=[逗号分隔的模块名称列表] 
    或转至 ../[模块名称] 并调用:
    % maven build
  • 配置 GlassFish 服务器运行时。此步骤将创建 asadmin 脚本、运行 create-domain 等运行 GlassFish 服务器所需的操作。
  • % maven configure-runtime   (默认为无提示安装) 
    如果想要指定通用配置信息(例如端口号等),请在详细模式下使用 configure-runtime。 
    % maven configure-runtime -Dinteractive
    一般而言,您仅需要运行一次此命令。如果您更改域环境将需要重新配置,有关详细信息,请参见常见问题解答。运行时配置的默认值可在 glassfish/bootstrap/project.properties 中找到:
    domain.name="domain1"
    instance.name="server"
    admin.user="admin"
    admin.password="adminadmin"
    admin.port="4848"
    instance.port"="8080"
    orb.port="3700"
    imq.port="7676"
    https.port="8181"
    Maven 目标 "configure-runtime" 将创建与 GlassFish V1 类似的单一实例域。如果您要创建 GlassFish V2 的群集模式域,运行以下命令:
    % maven configure-cluster
  • 使用以下命令启动服务器。所有 GlassFish 服务器命令均位于 <glassfish.root>/publish/bin 目录中。有关如何管理服务器的更多文档,请参阅 Sun Java System Application Server PE 版本 8 系列的相关文档。这些文档的大量内容仍适用于版本 9。注:GlassFish 当前在所有平台仅支持命令行选项。

  • % asadmin start-domain
  • 清除服务器。 

  • % maven clobber
    这将删除用于运行服务器的所有脚本和 jar 文件。它将删除 glassfish.home 下的所有内容,并且完成此操作后,您将需要返回到步骤 2。

  • 清除构建/服务器开发过程期间,您可以使用上述三个目标中的任何一个。使用您喜爱的 IDE 更新源,然后在已经构建的工作区中使用以下命令,将工作区恢复到其原始阶段以重新构建和验证您的更改。
    • 要清除模块以删除构建生成的文件(如 .class、.properties)并准备好进行重新编译,请运行以下命令
      % maven clean(或 maven -Dmodules=mail,activation clean)
    • 要清除在上述步骤 5 中配置的服务器,请使用下面的命令清除服务器,即删除 Administration Server domain1 并将该服务器恢复为原始安装阶段。(删除配置目录 ${glassfish.home}/bin 中新生成的令牌替换文件。)
      % maven clean-config
    • 如果想要验证有关域的更改和相关的管理服务器启动,请使用 "maven clean-config"。"clobber" 目标可用于删除您的服务器以获取新服务器。"clean" 可用于删除构建文件和准备编译。

  • 运行 Quicklook 测试:Quicklook 测试旨在为开发人员提供一种方法,用于测试 Application Server 中的主要功能以及运行完整性检查以确保没有任何主要功能故障。
    • 从 glassfish/appserv-tests 中如下签出所需的测试文件。
    % cd glassfish/bootstrap
    % maven checkout-quicklook
  • 设置 APS_HOME。这是您签出工作区的目录位置,包括工作区根目录名称(例如 /workspace/appserv-tests
  • 设置 S1AS_HOME。这是 GlassFish 服务器的安装目录(例如 /workspace/publish/glassfish
  • 安装属性位于 ${APS_HOME}/config.properties 之下以匹配您的安装(例如 admin.passwordhttp.port等)。如果您更改了任何默认值,请编辑此 config.properties 文件。
  • 在运行测试之前,确保服务器没有运行;如果已经运行,请停止服务器。
  • 运行测试:
    % cd $APS_HOME
    % maven runtest
  • 在浏览器中打开 ${APS_HOME}/test_results.html 文件并检查结果。
    • 您可以在此处找到运行 Quicklook 测试的详细说明。

    如果您遇到问题,请记住查看 GlassFish 构建常见问题解答 Wiki 页面。

    IDE 支持

    通过 NetBeans 4.1 构建和开发 GlassFish

    有关其他信息,请查阅工作区指导提交程序。您还可以使用 FishEye 来调查工作区中发生了哪些更改。

    为 V2.1,SGES21_FS_ RANCH 构建 Glassfish:

    以下是从 GlassFish 分支进行构建的步骤:
    % mkdir workspace
    % cd workspace
    % cvs -d :pserver:<userid>@cvs.dev.java.net:/cvs checkout -r SGES21_FCS_BRANCH glassfish/bootstrap

    因为来自 SGES21_FCS_BRANCH 分支的 glassfish/bootstrap/project.properties 拥有的变量 "glassfish.cvstag" 设置为 "glassfish.cvstag=SGES21_FCS_BRANCH"。所以 FCS 分支源将被相应地签出并构建。

    使用上述方法,定义两个 glassfish 变量 glassfish.os.name 和 glassfish.cvs.username。

    然后:
    % cd glassfish/bootstrap
    % maven checkout bootstrap-all build configure-runtime

    通过检查此处的详细信息,您可以确定在上述命令中运行 bootstrap 与 bootstrap-all 之间的哪个目标。

    GlassFish Maven 目标概述:

    目标名称
    常用命令
    说明
    bootstrap
    maven -Dmodules=admin bootstrap checkout build
    下载 glassfish-image-SNAPSHOT.jar 文件并在 ${glassfish.home}(服务器映像)下解压缩该文件以构建各个模块
    bootstrap-all
    maven checkout bootstrap-all build
    安装只包含二进制依赖库的任何空 glassfish 映像,然后下载各二进制依赖库并将其解压缩到 ${glassfish.home} 中,并从这些源构建所有模块。
    checkout maven checkout
    签出模块
    build
    maven build
    构建模块
    configure-runtime maven configure-runtime
    配置 ${glassfish.home} 使用单一实例域
    configure-cluster
    maven configure-cluster
    为 GlassFish V2 配置带有群集功能的域
    clean maven clean clobber
    清除模块
    clobber
    maven clobber
    清除 GlassFish 服务器映像 - 删除目录 ${glassfish.home}。需要与 "bootstrap-all" 配合使用以获取新映像,从而清除任何损坏的服务器映像。
    clean-config
    maven clean-config
    清除服务器。删除 domain1 和 bin、config 中的令牌替换文件
    -Dmodules=
    maven -Dmodules=admin bootstrap checkout build 仅清除/签出/构建一些模块:maven -Dmodules={逗号分隔的列表} 目标名称


    Terms of Use; Privacy Policy; Copyright ©2008-2012 (revision 20120127.ac94057)
     
     
    Close
    loading
    Please Confirm
    Close