使用Java 7 / Eclipse 3.7.1的无头pde构建失败

时间:2011-11-02 18:39:06

标签: java eclipse eclipse-pde eclipse-indigo

我们正在努力为我们的应用程序提供一个无头的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}已正确设置。

2 个答案:

答案 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来实现!