依預設,軟體組的編譯會使用執行建置時所用的任何 JRE,來源和目標層次會設為 1.3 和 1.2。
PDE 建置能夠在個別軟體組的基礎上,配置編譯期間所用的 JRE。
如果要運用這一點,首先要告訴 PDE 建置有哪些可用的 JRE。
請在建置配置檔 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
|
<buildDirectory>/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
<buildConfiguration>/
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 會設在建置配置中,且是環境清單中的第一項,因此,會利用它來編譯軟體組。
這個情況所用的來源和目標層次是 1.3 和 1.2。
相反地,如果建置配置只定義 J2SE-1.3,未定義 J2SE-1.4,J2SE-1.3 便是能夠使用 JRE 之清單中的唯一環境,因此,會用它來編譯軟體組。
在這個情況下,來源和目標層次是 1.3 和 1.1。