Establecer el entorno de compilación

Por omisión, los paquetes compuestos se compilarán con el JRE utilizado para ejecutar la construcción y con los niveles origen y destino establecidos en 1.3 y 1.2.

La construcción PDE es capaz de configurar el JRE utilizado durante la compilación en función del paquete compuesto.   Para aprovechar esta capacidad, lo primero que debe hacer es indicar a la construcción PDE los JRE que están disponibles.  En el archivo build.properties de configuración de la construcción, establezca propiedades para señalar a cada uno de los JRE instalados.  La plantilla build.properties suministrada en org.eclipse.pde.build/templates/headless-build contiene una lista de entornos comentados.  Simplemente, descomente las propiedades para las que disponga de JRE y establezca el valor en el conjunto de archivos jar pertenecientes a la vía de acceso de clases de inicio.   Por ejemplo, al establecer la propiedad:

J2SE-1.5=C:/Java/1.5/jre/lib/rt.jar;C:/Java/1.5/jre/lib/jsse.jar

se compilarán los paquetes compuestos que requieran java 1.5 en rt.jar y jsse.jar.  Los nombres de las propiedades deben coincidir con los nombres de los entornos conocidos por la Construcción PDE.   La Construcción PDE establecerá automáticamente los niveles origen y destino para cada entorno.   Los entornos conocidos por la construcción PDE y sus niveles origen y destino asociados son los siguientes:

Entorno
Origen
Destino
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

Elegir el entorno para el paquete compuesto

Existen dos valores que afectan al entorno utilizado para compilar el paquete compuesto.  Uno de ellos es la cabecera de manifiesto Bundle-RequiredExecutionEnvironment.  Esta cabecera es una lista de entornos en los que puede ejecutarse el paquete compuesto.  El paquete compuesto sólo debe utilizar métodos que se encuentren en el subconjunto adecuado de todos los entornos listados.  Es aconsejable que el entorno de compilación coincida cuanto sea posible con el entorno de ejecución.

El segundo valor es la propiedad jre.compilation.profile del archivo build.properties del paquete compuesto.  El valor de esta propiedad debe ser el entorno preferido para compilar este paquete compuesto si la lista de Bundle-RequiredExecutionEnvironment no es adecuada.

Estos dos valores juntos forman una lista de entornos, en la que figura jre.compilation.profile en primer lugar, seguido de los entornos de Bundle-RequiredExecutionEnvironment.  El primer entorno de esta lista que esté disponible en la configuración de construcción (consulte la sección anterior) se utilizará para compilar el paquete compuesto.

Ejemplo:
<directorioConstrucción>/plugins/paqueteA/
META-INF/manifest.mf: Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0, J2SE-1.3
build.properties:  jre.compilation.profile=J2SE-1.4

<configuraciónConstrucción>/
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

En la configuración anterior, la lista de entornos considerada (por orden) es: J2SE-1.4,  CDC-1.0/Foundation-1.0, J2SE-1.3.  El paquete compuesto puede ejecutarse en CDC/Foundation y J2SE-1.3, pero por alguna razón,  debe compilarse con J2SE-1.4.  En este caso, J2SE-1.4 se establece en la configuración de construcción y se coloca el primero en la lista de entornos, por lo que se utiliza para compilar el paquete compuesto.  Los niveles origen y destino utilizados en este caso son 1.3 y 1.2.  Si en lugar de eso la configuración de construcción definiera sólo J2SE-1.3 y no J2SE-1.4, J2SE-1.3 sería el único entorno de la lista para el que habría un JRE disponible, por lo que se utilizaría éste para compilar el paquete compuesto.  En ese caso, los niveles origen y destino serían 1.3 y 1.1.

Establecer explícitamente los valores de compilación

Si, por alguna razón, la utilización de los entornos indicada anteriormente no genera la configuración deseada, el paquete compuesto puede listar explícitamente los valores que requiere.  Por ejemplo, si tiene un paquete compuesto que utiliza J2SE-1.4 con asertos, los niveles origen y destino deberán ser 1.4 en lugar de los valores predeterminados, 1.3 y 1.2.

Para establecer explícitamente los niveles origen y destino java, el paquete compuesto debe establecer las propiedades javacSource y javacTarget en su archivo build.properties.  Estas propiedades alterarán temporalmente los valores derivados de los valores de entorno.

De modo parecido, al establecer la propiedad bootClasspath en el archivo build.properties del paquete compuesto, se alterará temporalmente el conjunto de jars con el que se compila el paquete compuesto.