我该如何在Eclipse中更改已安装项目的Java版本?

11

我刚刚安装了Eclipse 3.7和Google Plugin for Eclipse,因为我想学习如何使用Google App Engine。

当我创建一个新的Web应用并运行时,出现了一个错误,提示我的JRE版本(1.4)不允许注释。因此,我将我的JRE设置为1.6,并将编译器兼容级别设置为1.6。

但是,现在我遇到了这个新错误。

Description Resource    Path    Location    Type
Java compiler level does not match the version of the installed Java project facet.
Myprojectname       Unknown Faceted Project Problem (Java Version Mismatch)

如何更改“已安装的Java项目facets的版本”?

我的项目属性菜单左侧没有称为“Project Facet”的项目。

3个回答

29
如果您收到了验证信息,您应该在项目属性下找到“项目结构”。您会看到如下屏幕,您将能够更改Java Facet版本:

enter image description here

如果您没有看到此页面,则您创建的项目可能某种方式已损坏。您是如何创建它的?您是否使用Eclipse的Google插件提供的向导?如果是,您需要向Google提交错误报告,因为它们未创建有效的项目。
无论如何,您都可以通过右键单击问题视图中的问题并选择“快速修复”来解决此问题,然后引导您对齐Java Facet和Java Compliance设置。

1
谢谢。这是我在项目选项下看到的全部内容。http://i.imgur.com/TI5Kj.png 我也无法进行快速修复。它是灰色的。 - dangerChihuahua007
你确定这就是你遇到验证问题的项目吗?从你的截图中,我没有看到 Faceted Project Validator 在 Builders 下面,而它正是第一次放置问题标记的原因。如果这确实是同一个项目,请尝试将其从工作区中移除并重新导入。如果这是一个过期的问题标记,那么它就会消失。 - Konstantin Komissarchik

15

如果您还没有找到解决方案或其他人也面临这个问题:

我曾经遇到了“项目构面”的问题,当我从1.7转回1.6时,在项目属性中没有“项目构面”页面。我通过编辑位于项目文件夹.settings中的文件org.eclipse.wst.common.project.facet.core.xml来解决了这个问题。

在这个文件中,我发现以下代码,将1.7替换为1.6后,错误消失了:

    <?xml version="1.0" encoding="UTF-8"?>
    <faceted-project>
    <installed facet="java" version="1.7"/>
    </faceted-project>

编辑:我忘记提到您需要编辑“包资源管理器”上的筛选器才能显示 .* 资源:选择“视图菜单”(向下箭头)-> 过滤器... -> 取消选中“.*资源”-> 点击“确定”,然后您应该会看到 .settings 文件夹。


谢谢-这对我很有帮助。 - Simon

6
如果您使用的是Eclipse IDE for Java EE Developers,则应该具有Project Facets属性部分。
如果您的Eclipse 3.7是Eclipse IDE for Java Developers,那么您需要通过安装EE好东西来添加拥有facets的功能...
使用 Help -> Install New Software... -> Work with:(选择Indigo),然后向下滚动至“Web、XML、Java EE和OSGi Enterprise Development”,并勾选Eclipse Java EE Developer Tools 允许Eclipse重新启动,现在应该可以看到Project Facets属性部分。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接