Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
项目未继承Eclipse/Java工作区设置(即使禁用了“特定于项目的”选项)_Java_Eclipse - Fatal编程技术网

项目未继承Eclipse/Java工作区设置(即使禁用了“特定于项目的”选项)

项目未继承Eclipse/Java工作区设置(即使禁用了“特定于项目的”选项),java,eclipse,Java,Eclipse,我最近被分配到的项目一直使用Eclipse作为构建工具。我能让它显示或报告的唯一版本是Indigo。如果有一个与之相关的实际版本号,那么它已经被很好地隐藏了。一旦你已经是一名Eclipse专家,可能真的很明显 我们已经将我们的工作区设置配置为大部分默认设置,并在这里和那里增加了一些编译器警告级别 现在,在导入各种项目后,开发人员发现大量Java构建错误,因为合规性级别显示为1.4,而不是最近的版本;这会导致一些有趣的错误,比如assert无法解析为类型。我们已经查看了Java编译器设置中的每一个

我最近被分配到的项目一直使用Eclipse作为构建工具。我能让它显示或报告的唯一版本是Indigo。如果有一个与之相关的实际版本号,那么它已经被很好地隐藏了。一旦你已经是一名Eclipse专家,可能真的很明显

我们已经将我们的工作区设置配置为大部分默认设置,并在这里和那里增加了一些编译器警告级别

现在,在导入各种项目后,开发人员发现大量Java构建错误,因为合规性级别显示为1.4,而不是最近的版本;这会导致一些有趣的错误,比如assert无法解析为类型。我们已经查看了Java编译器设置中的每一个菜单和子菜单,所有这些菜单和子菜单都禁用了特定于项目的设置。工作区配置为使用1.7,但这些设置实际上都没有被项目继承

现在,我们已经启用了特定于项目的设置,并将所有工作区设置复制到每个项目中。这似乎完全违背了将工作空间设置放在首位的意义!除了禁用特定于项目的内容外,每个项目中是否都有一些隐藏的设置需要重置


你可以尝试两件事:

进入“配置生成路径”对话框并单击“库”选项卡。查看项目使用的是哪个JRE。有时,JRE被设置为上次处理项目的前一个工作区中使用的内容。您可以删除系统库或JRE条目。如果您保留这样的内容,我相信JRE和设置将默认为工作区默认值。最糟糕的情况是,您必须进入并添加库以选择正确的JRE

如果失败,您可以在项目根目录中的.settings文件夹中查看。除了.classpath文件之外,所有工具都在这里存储它们的设置。当紧急情况需要紧急措施时,您可以删除此目录中的一些文件,甚至删除整个目录。请注意,文件或文件夹名称中的缩写JDT表示该文件或文件夹与java工具有关。还要注意,名称以开头的所有文件和文件夹。默认情况下是隐藏的。您需要转到Navigator视图才能看到它们


在Window->Preferences->Java->Compiler中,我将遵从性级别更改为任意级别,然后将其更改回我实际需要的级别。这个给我修好了

谢谢你的回复!我已经完成了第一步,只是为了让Eclipse构建它指向几个月前卸载的系统JRE的代码。.settings中唯一的文件是org.eclipse.jdt.core.prefs,它正好包含我想要继承的设置,但是在启动eclipse之前重命名.settings只会导致它返回到使用古老的默认值,如JDK 1.4 compliance,而不是继承工作区。我已经移动了。现在设置已恢复。