我们正在努力为我们的应用程序提供一个无头的PDE构建,但在构建期间编译失败,并显示以下消息:
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
进行以下设置:
在build.properties文件中,设置了以下属性。
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
内置插件的最低执行环境是JavaSE-1.7
用于构建的工作区成功使用Java 7。
我们能够通过eclipse成功运行我们的应用程序产品。
也许重要的一点是,我们在PDE ${baseLocation}
中将我们的目标平台(包括来自Eclipse 3.7.0 rcp_sdk的一些插件和功能)用作build.xml
。
使用Eclipse 3.7.1安装作为${baseLocation}
,构建成功,但为了高效使用,我们需要使用目标平台插件替换我们应用程序中的一些eclipse插件。
我们使用此任务在build.xml
开始构建:
<ant antfile="${eclipse.pdebuild.scripts}productBuild/productBuild.xml" />
baseLocation是否可能导致使用错误的编译器? 或者是否有另一个地方来定义源级别?
根据Target Platform for PDE ...安装了我们的Eclipse 3.7.1安装中的PDE插件,${eclipse.pdebuild.scripts}
已正确设置。
答案 0 :(得分:1)
使用插件org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar而不是“3.7.0目标平台”中的org.eclipse.osgi_3.7.0.v20110613.jar,编译和构建成功。
但是为什么用旧的org.eclipse.osgi-plugin编译失败的原因对我来说并不清楚。我本来期望一个依赖性解决错误或类似的东西。
如果有人有关于该主题的背景信息,我会很高兴。
答案 1 :(得分:0)
谢谢,它通过将Eclipse Indigo升级到SR2来实现!