2

我们正在尝试为我们的应用程序构建一个有效的无头 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 成功运行我们的应用程序的产品。

${baseLocation}也许重要的一点是我们在 PDE 中使用我们的目标平台(包括来自 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 是否有可能导致使用了错误的编译器?还是有其他地方可以定义源级别?

我们的 Eclipse 3.7.1 安装中的 PDE 插件已安装,${eclipse.pdebuild.scripts}设置正确,根据Target Platform for PDE ...

4

2 回答 2

1

在“3.7.0目标平台”中使用插件org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar代替org.eclipse.osgi_3.7.0.v20110613.jar,编译构建成功。

但是我不清楚使用旧 org.eclipse.osgi-plugin 编译失败的原因。我本来期望一个依赖解决错误或类似的东西。

如果有人有关于该主题的一些背景信息,我会很高兴。

于 2011-11-17T12:41:58.630 回答
0

谢谢,它通过将 Eclipse Indigo 升级到 SR2 来工作!

于 2012-11-29T15:49:11.317 回答