构建配置与操作指南
立即解锁
发布时间: 2025-08-19 01:22:54 阅读量: 2 订阅数: 8 


OSGi与Equinox:构建高度模块化的Java系统
# 构建配置与操作指南
## 1. build.properties 文件解析
### 1.1 build.properties 文件示例
```properties
bin.includes=plugin.xml, META-INF/, ., icons/, html/
bin.excludes=html/private*.html
source..=src/
extra..=library.jar
```
### 1.2 各属性说明
| 属性 | 描述 |
| --- | --- |
| bin.includes | 开发时资源的逗号分隔列表,构建时会复制到捆绑包中。列表必须包含捆绑包元数据文件(如 MANIFEST.MF 和 plugin.xml)以及任何代码。使用 “.” 表示 JAR 捆绑包或基于目录的捆绑包的相对路径。常见模式包括 *(如 *.html)和尾随的 “/”(如 html/)表示包含目录结构。示例中表明 plugin.xml 以及 META-INF、icons 和 html 目录的内容应包含在捆绑包的二进制版本中。 |
| bin.excludes | 开发时资源的逗号分隔列表,不应包含在捆绑包的二进制版本中。此列表中的条目会覆盖 bin.includes 列表中的条目。排除列表条目也以 Ant 模式表示。示例中表明所有 “private” HTML 文件不应包含在可部署运行时版本的捆绑包中。 |
| source.<library> | 开发时资源集,用于编译以创建由 <library> 标识的 Java 可执行元素。<library> 通常为 “.” 表示捆绑包本身,也可以是 JAR 文件的名称。值是传递给 Java 编译器的文件的 Ant 模式的逗号分隔列表。示例中表明 src 目录中的文件会被编译,输出放在捆绑包的根目录。 |
| extra.<library> | 编译时添加到类路径的元素的逗号分隔列表,对应于 source.<library> 属性中定义的源。当有要编译但不发布且不包含在该捆绑包所需的任何捆绑包中的 JAR 时,通常需要此属性。 |
PDE 结合捆绑包清单使用此信息为每个捆绑包生成 build.xml 脚本,然后在构建过程中运行该脚本。
### 1.3 使用自定义构建脚本
可以通过提供自己的 build.xml 并在捆绑包编辑器的构建页面上选择 “Custom Build” 来选择不使用自动生成的构建脚本。但如果选择自定义 build.xml,需要完全负责实现具有正确目标和功能的构建脚本。更好的解决方案是使用自定义回调。
## 2. 设置构建器
### 2.1 构建 Toast Client 的构建器步骤
1. **创建项目**:使用 “File > New... > Project > General > Project” 创建一个名为 “client.builder” 的简单项目,用于存放构建脚本。
2. **定位文件**:在文件系统中,导航到 Eclipse IDE 安装目录下的 org.eclipse.pde.build 捆绑包。例如,如果 IDE 安装在 “c:\ide”,则查找 “c:\ide\eclipse\plugins\org.eclipse.pde.build_3.5.1”。
3. **复制文件**:将 “templates\headless - build\build.properties” 和 “scripts\productBuild\productBuild.xml” 复制到 “client.builder” 项目中。这两个文件是控制构建的模板,后续会填充并用于构建产品。
### 2.2 调整 PDE 构建的目标
除了设置构建器项目,还必须确保所需的二进制依赖项可用,特别是要为正在构建的平台准备正确的可执行启动器。
1. **获取可执行文件**:所有受支持平台的可执行文件都在 “executables” 功能中,可通过获取 Eclipse delta pack 来获得该功能。确保目标平台包含 delta pack。
2. **导出目标**:由于 PDE Build 目前不直接支持使用目标定义文件,需要手动管理二进制先决条件。可以使用 “Target Export” 向导收集当前目标的所有捆绑包和功能,并将它们放在一个目录中。操作步骤如下:
- 选择 “File > Export > Plug - in Development > Target definition” 导出构成当前目标的捆绑包和功能。
- 选择一个目录(如 “c:\toast_prereqs”)用于存放 Toast 二进制依赖项,然后点击 “Finish”。
### 2.3 定制 build.properties 文件
以下是定制后的 build.properties 文件示例:
```properties
# Product and packaging control
product=/ToastClient/client.product
runPackager=true
archivePrefix=toast_shell
# Build naming and locating
buildDirectory=${user.home}/eclipse.build
buildType=I
buildId=TestBuild
buildLabel=${buildType}.${buildId}
# Base identification and location
skipBase=true
base=C:/toast_prereqs
baseLocation=${base}
baseos=win32
b
```
0
0
复制全文
相关推荐










