使用 NetBeans 开发和构建项目 GlassFish作者及整理人:
Brian Leonard
2005 年 6 月 6 日,2005 年 1 月 31 日更新
Project GlassFish 是 Sun 在 Java.net 上的开源应用程序服务器开发,已设置为与 NetBeans 协作使用。包含项目 GlassFish 的 30 个模块中的每一个都已设置为 NetBeans 项目。本文将向您演示如何设置环境以使用 NetBeans 来编辑、构建及运行 project GlassFish。另外,我将演示如果需求升级,如何修改项目设置并设置新模块。有关本文所涉及的步骤的完整详细信息,请参见如何构建 GlassFish 上的完整说明。 这些说明要与 NetBeans 5.0 结合使用。如果您使用的是 NetBeans 4.1,请使用此版本。 设置环境Maven获取 GlassFish 源创建 Workspace Home
获取源
设置项目属性
获取、配置和测试 GlassFish 图像这里将下载并安装完整的 GlassFish 工作版本。GlassFish 图像将下载到 Maven 存储库中,然后从存储库解压缩到 glassfish.home,如在 glassfish/project.properties 文件中所配置的。构建对其他模块有依赖性的模块时,递增构建将使用 glassfish.home 的库来解决那些类路径依存关系。在 NetBeans 中签出、打开并修改 GlassFish 模块项目对于本练习,我们将对 admin-cli 项目进行修改。 获得 admin-cli 源
在 NetBeans 中打开 Admin Cli 项目
修改 GlassFish 源
构建和测试所作的更改
关于 GlassFish NetBeans 项目大约有 30 个模块构成项目 GlassFish,每个模块作为自由形式项目类型的 NetBeans 项目进行设置。因为自由形式项目类型是为具有现有 Ant 脚本的项目设计的,所以 NetBeans 将创建名为 project.xml 的辅助文件,用于:
将在名为 nbproject 的子目录中找到 project.xml 文件。
将 Ant 目标映射到 IDE 命令如果查看任一 GlassFish 模块项目的 Build and Run 属性,则会发现已映射了 Build and Clean 项目菜单条目。有关该项目类型的详细信息,请参阅高级自由形式项目配。 配置项目的源目录NetBeans 的逻辑 Projects 视图显示了 GlassFish 模块的各种源目录。在下面的示例中,Admin CLI 项目有 3 个已配置的源目录。
这些目录是在项目的 Java Sources 属性中进行配置的。
配置编译器的类路径NetBeans 编辑器没有将类路径信息从 Ant 构建脚本中拉出。虽然将构建模块,但是在编辑器中看起来并不漂亮。例如,这里在配置类路径之前是 S1ASCommand.java。 GlassFish 构建脚本为其类路径使用解压缩的 GlassFish 图像的库。这些库的位置是在 glassfish 模块的 project.properties 文件中进行配置的(当获取源后,我们签出了上述 glassfish 模块)。 类似构建目标和源路经配置,也可以通过项目的属性编辑器实现上述操作。但是,使用属性编辑器将设置所需库的绝对路径,因此我们手动编辑了 project.xml 文件,这样当配置编辑器类路径时,我们可以参考 glassfish/project.properties。 首先,我们将 glassfish/project.properties 导入 project.xml 文件。 然后,参考映射到 jar 文件的 glassfish/project.properties。请注意,每个源根有其自己的类路径。因此在下列示例中,cli-api/src/java 中的源没有其他依存关系。但是,commands/src/java 中的源依赖于 admin-cli.jar、appserv-admin.jar 和 appserv-rt.jar 中的类。 在任一 GlassFish 模块中,如果未解决 NetBeans 编辑器中的编译错误,则向类路径中添加丢失的 jar 文件就是个问题。 注意从 NetBeans Project Property 编辑器进行查看时要适当解决的属性。 有关该项目类型的详细信息,请参阅高级自由形式项目配。 NetBeans 对 Maven 的支持NetBeans 的确具有一个 Maven 的插件。但是,GlassFish Project 尚未设置 Maven 所期望的项目依存关系。在这个阶段,Maven 事实上被用作基于基础架构的 GlassFish 项目的现有 Ant 的包装。在未来的阶段,GlassFish 团队要提供更完全的 Maven 支持。 |



















