缺省情况下,捆绑软件是使用用来运行构建的 JRE 编译的,并且将把源代码级别和目标级别分别设置为 1.3 和 1.2。
“PDE 构建”能够配置每一个捆绑软件在编译期间要使用的 JRE。为了利用此功能,第一项操作是将可用的 JRE
告知“PDE 构建”。在构建配置的 build.properties 文件中,设置属性以指向每个已安装的
JRE。在 org.eclipse.pde.build/templates/headless-build 中提供的模板
build.properties 中,已将环境列表注释掉。您只需将可用 JRE 的对应属性取消注释并将值设置为属于根类路径的
JAR 集合即可。例如,设置以下属性:
将根据 rt.jar 和 jsse.jar 编译需要 Java 1.5 的捆绑软件。属性名应该与“PDE 构建”所知的环境名匹配。“PDE 构建”将自动设置每个环境的源代码级别和目标级别。“PDE 构建”所知的环境及其相关源代码级别/目标级别如下所示:
环境 |
源 |
目标 |
CDC-1.0/Foundation-1.0 |
1.3 |
1.1 |
CDC-1.1/Foundation-1.1 |
1.3 |
1.2 |
OSGi/Minimum-1.0 |
1.3 |
1.1 |
OSGi/Minimum-1.1 |
1.3 |
1.2 |
JRE-1.1 |
1.1 |
1.1 |
J2SE-1.2 |
1.2 |
1.1 |
J2SE-1.3 |
1.3 |
1.1 |
J2SE-1.4 |
1.3 |
1.2 |
J2SE-1.5 |
1.5 |
1.5 |
JavaSE-1.6 |
1.6 |
1.6 |
PersonalJava-1.1 |
1.1 |
1.1 |
PersonalJava-1.2 |
1.1 |
1.1 |
CDC-1.0/PersonalBasis-1.0 |
1.3 |
1.1 |
CDC-1.0/PersonalJava-1.0 |
1.3 |
1.1 |
CDC-1.1/PersonalBasis-1.1 |
1.3 |
1.2 |
CDC-1.1/PersonalJava-1.1 |
1.3 |
1.2 |
<构建目录>/plugins/bundleA/
META-INF/manifest.mf: Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0, J2SE-1.3
build.properties: jre.compilation.profile=J2SE-1.4
<构建配置>/
build.properties: J2SE-1.3=C:/Java1.3/jre/lib/rt.jar;C:/Java1.3/jre/lib/i18n.jar
J2SE-1.4=C:/Java1.4/jre/lib/rt.jar;C:/Java1.4/jre/lib/jsse.jar
在以上设置中,考虑的环境列表及其顺序是:J2SE-1.4、CDC-1.0/Foundation-1.0 和 J2SE-1.3。此捆绑软件可以在
CDC/Foundation 和 J2SE-1.3 上运行,但由于某种原因,它应该使用 J2SE-1.4
编译。在本例中,在构建配置中设置了 J2SE-1.4,并且 J2SE-1.4
在环境列表的开头,因此将使用它来编译此捆绑软件。在本例中,使用的源代码级别和目标级别分别是
1.3 和 1.2。如果构建配置仅定义了 J2SE-1.3 而未定义 J2SE-1.4,则 J2SE-1.3 将是带有可用
JRE 的环境列表中的唯一环境,因此将使用它来编译此捆绑软件。在那种情况下,源代码级别和目标级别将分别是 1.3 和 1.1。