由于某种原因,Eclipse不再在问题视图中向我显示Java编译错误。
它仍然显示警告。
这突然发生了,我想不出任何会影响到此的更改。
我正在使用“ Maven Integration for Eclipse”插件,但已经使用了一段时间-不知道这是否会影响它。
有任何想法吗?
由于某种原因,Eclipse不再在问题视图中向我显示Java编译错误。
它仍然显示警告。
这突然发生了,我想不出任何会影响到此的更改。
我正在使用“ Maven Integration for Eclipse”插件,但已经使用了一段时间-不知道这是否会影响它。
有任何想法吗?
Answers:
我遇到了同样的问题,随机地做了(几次)这样的事情:
1)Project-> Clean ...,
2)关闭并再次打开Eclipse,
3)Run As ...
并且它再次开始工作,而无需更改配置。
右键单击您的项目,然后转到“属性”>“ Java构建路径”>“源”。
确保您的源目录(例如MyProject / src)作为“源”文件夹列出。否则,您将不会获得任何红色标记。
如果Google提出您这个问题,我想在这里发表我的故事。
不知何故,“项目->自动构建”已关闭。
将其重新打开会产生正确的错误列表。
就我而言,它与m2e 1.0无关。这是任何Java项目的默认行为,并且可以追溯到Ganymede(在撰写本文时,我正在运行Indigo)
这不是您问题的完全答案,而是相关的。我以为eclipse不再在项目中的文件旁边显示红色/黄色标志。解决方案非常简单-我正在查看“导航”选项卡(不显示错误/警告标志),而不是“包资源管理器”选项卡。
我安装并卸载了ajdt-plugin并遇到了同样的问题。
检查一下 <Project><Properties><Builders>
。它应该有一个“ Java Builder”。
此代码应位于.project文件中(文件位于项目的根目录中):
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
检查您的源目录在项目的源文件夹中列出
Right-click your project > Build Path > Configure Build Path > Source
。如果您正在使用多个项目(作为依赖项)
Project->Clean
...,检查“自动构建”是否启用。
project > Build Automatically
在略有不同的情况下,我有相同的问题。我有一个父POM及其下的多个模块。项目已经存在,我将其导入了eclipse。我只能将“依赖关系管理”更改为父项目,而不能更改为其下的项目。他们没有显示任何编译警告。
接下来,我将尝试将它们全部更改为单个项目……这不是我想要的,但是我无法解决此问题……
我也面临同样的问题。
安装m2eclipse插件后,我没有收到任何Java编译错误。
我的解决方案是通过选择项目->右键单击(获取上下文菜单)-> m2 Maven->启用依赖性管理来启用依赖性管理。
现在,我可以查看Java编译错误。
在我的情况下,Eclipse没有正确选择当前项目所依赖的Java项目。
您可以转到项目> BuildPath>配置BuildPath,然后删除并重新添加项目。
显然有几种原因可能导致这种情况发生,我想我应该将解决方案添加到我的问题中。(我有一个Java项目,其中导入了带有虚拟链接的文件)
如果遇到类似我的情况,您将在与“ src”文件夹相同级别的位置上拥有另一个文件夹。如果这样做,请在该其他文件夹上单击鼠标右键,然后选择“构建路径”>“添加到构建路径”(如果看到“构建路径”>“从构建路径删除”,则说明它已被添加。)
要进一步配置构建路径,请右键单击顶层项目目录,然后选择“构建路径”>“配置构建路径”。您的文件夹应显示在“源”选项卡中。
要配置看到的错误,请单击Java编译器>错误/警告,然后单击“配置工作区设置”。这与转到窗口>首选项> Java>编译器>错误/警告相同。如果您不希望Eclipse忽略某些内容,则只需将其更改为Warning。
我可以通过创建具有非静态成员类的枚举和枚举其值的静态块来重现此问题:
public enum Foo {
Dummy(new Bar [] {new Bar()});
static {
for (Foo foo: Foo.values());
}
private Foo(Bar [] params) {}
public class Bar {}
}
此类破坏了Ganymede编译器。如果您删除静态初始化程序块中的行,则代码将再次正确编译,并且会出现错误,即新Bar()调用没有包含实例,这与预期的一样。
-修正:仅当项目具有Google Appengine的gaeNature时,以上内容才适用。但是,如果遇到与原始问题中所述类似的错误,则可能会遇到另一个Java编译器错误...
如果最近已激活“调试”,则检查程序的右上角(在“最小化”按钮下),然后单击返回到Java。
pubic voodoo myMethod(){}
看起来不错-没有错误。我什么都没改变;刚刚在今天安装了dang,并且正在学习教程。对于很多人来说,这是一件非常基本的事情,也是非常重要的事情。