【问题标题】:Headless pde build with Java 7 / Eclipse 3.7.1 fails使用 Java 7 / Eclipse 3.7.1 构建无头 pde 失败
【发布时间】:2011-11-02 18:39:06
【问题描述】:

我们正在尝试为我们的应用程序构建一个有效的无头 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 build.xml 中使用我们的目标平台(包括来自 Eclipse 3.7.0 rcp_sdk 的一些插件和功能)作为 ${baseLocation}

使用 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 ....

【问题讨论】:

  • Eclipse 3.7.0 还不支持 Java 7,所以如果您需要 Java 7,您必须使用 3.7.1 编译。
  • 我们使用 eclipse 3.7.1 安装开始构建,使用的 baseLocation 不包含编译器。这意味着在我们的“构建系统”中只有来自 e3.7.1 的编译器能够编译 java 7 代码。问题是为什么它没有。
  • 我明白了,我以为你已经知道了,但我想确保这个小细节不是你问题的原因。
  • 你的插件MANIFEST.MF是否指定了JavaSE-1.7的Bundle-RequiredExecutionEnvironment?而您正在使用 eclipse371/eclipse -application org.eclipse.ant.core.antRunner -buildfile build.xml 构建,其中只有 baseLocation 设置为 eclipse370?
  • 抱歉我的回复晚了。是的,在发生编译器错误的插件中,执行环境设置为 JavaSE-1.7,并按照您的描述开始构建。

标签: java eclipse eclipse-pde eclipse-indigo


【解决方案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 编译失败的原因。我本来预计会出现依赖关系解析错误或类似的东西。

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

【讨论】:

  • :-( 在 org.eclipse.osgi_3.7.2.v20120110-1415 中使用 indigo-3.7.2 在这里不起作用
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-01
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多