We are trying to get a working headless PDE build for our application but compiling fails during the build with the following message:
ERROR in C:\...\TimerManager.java
[javac] private final Map<String, ScheduledFuture<?>> activeTimer = new HashMap<>();
[javac] ^^^^^^^
[javac] '<>' operator is not allowed for source level below 1.7
The following settings are made:
In the build.properties file the following properties are set.
CDC-1.1/Foundation-1.1 = ${java.home}/lib/rt.jar JavaSE-1.7 = ${java.home}/lib/rt.jar path.jre = C:/Programme/Java/jre7 javacSource=1.7 javacTarget=1.7
The minimum execution environments of the built plugins is JavaSE-1.7
The workspace used for building uses Java 7 successfully.
We are able to run the product of our application succesfully with eclipse.
Perhaps an important point is that we use our target platform (including some plugins and features coming from Eclipse 3.7.0 rcp_sdk) as ${baseLocation}
in the PDE build.xml
.
Using the Eclipse 3.7.1 installation as ${baseLocation}
the build succeeds, but for productive use we need our target platform plugins which replace some eclipse plugins in our application.
We start the build in the build.xml
with this task:
<ant antfile="${eclipse.pdebuild.scripts}productBuild/productBuild.xml" />
Is it possible that the baseLocation causes that the wrong compiler is used? Or is there another place to define the source level?
The PDE plugins in our Eclipse 3.7.1 installation are installed, ${eclipse.pdebuild.scripts}
is set correctly, according to Target Platform for PDE ....