项目方面java 1.8版不存在

Posted

技术标签:

【中文标题】项目方面java 1.8版不存在【英文标题】:Version 1.8 of project facet java does not exist 【发布时间】:2014-03-24 04:39:24 【问题描述】:

我正在尝试使用 Java 8 在 Eclipse 中构建 Dynamic Web Application(如果这很重要,还有 Wildfly appServer),但我无法让 Eclipse Luna M5 使用 Java 8(我确实安装了 Java 8 BETA 支持并且它适用于 JavaSE 项目)。

在我的 POM 中,我将级别设置为 Java 8:

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

但在我执行maven -&gt; update project 之后,我收到以下错误:

Could not update project ExampleApp configuration
Version 1.8 of project facet java does not exist.

project-&gt;preferences-&gt;project facets-&gt;java 下确实没有 java 1.8 项目方面

我可以手动创建这样的facet 并将其添加到 eclipse 中,否则我将不得不等到 java 8 发布并且 eclipse 人员决定添加它?

【问题讨论】:

你看过this吗?有帮助吗? 我已经从那里安装了早期访问二进制文件(测试版支持) 【参考方案1】:

官方提供了适用于 Kepler SR2 的其他补丁。 在 ecliplse 中,转到“帮助”->“市场”-> 搜索 java 8 kepler。 然后选择并安装以下内容。

安装 Java 8 支持 eclipse kepler sr2, 用于 Web 工具的 Java 8 Facets eclipse kepler sr2 Java 8 支持 Eclipse Kepler SR2 的 m2e(如果需要)

参考:http://www.eclipse.org/downloads/java8/

在此之后,我使用 java 8 的多模块 maven 项目构建良好,在 eclipse kepler SR2 中没有任何错误。

更新:如果您使用的是 Spring Tool Suite (STS),则 3.5.1 版已包含这些功能。

【讨论】:

这是 STS 3.5.0 RELEASE 的正确答案,它附带了对 Java8 的编译器支持,但不支持 Facets 或 m2e。 @Marty STS 3.5.1 已包含这些。【参考方案2】:

Kepler SR2 有官方错误报告/补丁。它也适用于 Spring Tool Suite 3.5.0.RC4(基于 Kepler)。它也应该适用于 Luna。

错误报告:https://bugs.eclipse.org/bugs/show_bug.cgi?id=430637(见评论 #12)

Java 8 方面的更新站点:http://download.eclipse.org/webtools/patches/drops/R3.5.2/P-3.5.2-20140329045715/repository

【讨论】:

这适用于 STS 3.5.0.RC4,但不适用于 STS 3.5.0 RELEASE。相反,使用@Pooma 提供的方法 @MartyPitt 实际上是Poorna【参考方案3】:

在我们等待官方 Java 1.8 支持的同时,我创建了一个 github 分支,其中包含我认为需要的更改 - 这些需要首先从此处获取 Java 8 补丁:https://wiki.eclipse.org/JDT_Core/Java8

要安装 1.8 方面的支持(假设您运行的是 4.3.1 或 4.3.2,并且对主 .../eclipse/plugins 目录具有写入权限):

git 克隆https://github.com/stevestorey/webtools.common.fproj git checkout java8-support 将此功能集中的各种项目导入您的 Eclipse IDE(可以在新的工作区中)。具体来说,您需要 org.eclipse.wst.common.project.facet.core 和 org.eclipse.wst.common.project.facet.core 右键单击 org.eclipse.jst.common.project.facet.core 项目并选择“导出”,然后选择“插件开发\可部署的插件和片段” 从“导出”对话框中,仅选择 org.eclipse.jst.common.project.facet.core 插件,然后选择底部的“安装到主机”单选按钮,然后选择合适的路径(我相信我选择了默认,但我认为这并不特别重要) 单击完成将构建插件,然后开始安装到您的 Eclipse 环境中。

重新启动 Eclipse 后,您应该会发现 1.8 现在可以选择为 Java facet :)(它也适用于指定源/目标为 1.8 的启用 M2E 的项目)。

请注意标准 1.8 补丁说明中的说明,即安装的 JDK /必须/在 Eclipse 属性中称为“JavaSE-1.8”。

还请注意,如果/当您更新 Eclipse(例如升级到 4.3.2)时,您可能需要再次重新安装补丁版本,因为更新会将插件的“官方”版本重新安装。

【讨论】:

我得到“org.eclipse.jst.common.project.facet.core/build.xml:145: java.lang.ClassFormatError: Duplicate field name&signature in class file org/eclipse/jdt /internal/compiler/ast/CompilationUnitDeclaration" 安装插件时:(【参考方案4】:

几天前我遇到了完全相同的问题。看起来这将包含在 Eclipse Luna 的下一个版本中。

Java Version 1.8 of project facet java does not exist

Eclipse Luna M6 计划于 3 月 14 日发布,因此希望届时会包含在内。

【讨论】:

我正在使用 Eclipse Luna 4.4.0 M6 并遇到同样的问题。所以 LUNA M6 目前还不能修复。【参考方案5】:

最近 Java 更新到 Java 8,因此您需要更新到新的 Eclipse 才能工作。我正在运行 Eclipse 4.3 (Kepler),我必须升级到 Eclipse 4.4 (Luna)

【讨论】:

【参考方案6】:

转到您的 Project Property 搜索 project facet 并更改 java 版本

【讨论】:

我不赞成这个答案,因为它无关紧要。如果您已阅读该问题,您应该知道该问题与 LUNA M5 有关,并且我已经尝试过。另外如果你不知道 M5=Milestone 5 并且 Luna 已经发布很久了,那么你的回答是完全不合适的。

以上是关于项目方面java 1.8版不存在的主要内容,如果未能解决你的问题,请参考以下文章

jvm 1.7 版不适合这个产品。窗口中的 eclipse nano 需要更高版本 1.8

类'java.io.'在JRE仿真库INTELLIJ IDEA中不存在

java1.8 版本改成 java1.7版本

程序包lombok不存在,纠正网上错误答案

Django 1.8 迁移:django_content_type 不存在

EasyClick 插件项目出错解决办法