Intellij idea &引用;发现重复类";-IntelliJ和.class文件

Intellij idea &引用;发现重复类";-IntelliJ和.class文件,intellij-idea,Intellij Idea,我最近将我们公司的一个项目导入IntelliJ Idea(10.5.1)。我们使用ant构建脚本构建和运行该项目,IntelliJ对此非常支持 但是,当编译输出目录等于源代码目录时,IntelliJ似乎有一个明显的问题,即。class文件与其对应的.java源文件放在相同的目录中 (请注意,我知道这不是一个合适的方式,但请告诉我的老板。这个项目已经有15年的历史了,而且规模也相当大,太多的事情依赖于它,我对此无能为力。) 因此,一旦编译完成,IntelliJ将检测.class文件并将它们添加到项

我最近将我们公司的一个项目导入IntelliJ Idea(10.5.1)。我们使用ant构建脚本构建和运行该项目,IntelliJ对此非常支持

但是,当编译输出目录等于源代码目录时,IntelliJ似乎有一个明显的问题,即
。class
文件与其对应的
.java
源文件放在相同的目录中

(请注意,我知道这不是一个合适的方式,但请告诉我的老板。这个项目已经有15年的历史了,而且规模也相当大,太多的事情依赖于它,我对此无能为力。)

因此,一旦编译完成,IntelliJ将检测
.class
文件并将它们添加到项目树中。这里的问题是,它将它们视为类声明,因此我为每个类都获得了一条“发现重复类”消息。这并没有使我无法工作,但正如你可能猜到的那样,这是非常烦人的

我试图让IDE忽略
.class
文件,但显然这使它根本不加载任何类,包括JRE运行时和
.jar
文件中的任何其他内容


有没有办法让IntelliJ Idea忽略与其
.java
源文件位于同一位置的
.class
文件?

确保已将输出目录配置为源目录,禁用输出目录的排除以查看您的文件。

从Bitbucket克隆项目时,我处理了相同的问题。要在IntelliJ中解决此问题,请执行以下操作:

项目结构>模块>源>源文件夹>

在我的例子中,我在一个源文件夹中有未实现的类,在第二个源文件夹中有实现的类(相同的类名)

我删除了一个,重新构建,问题就解决了


试试看

我确实看到了这些文件,但问题是每个文件我都会看到两次(IntelliJ同时显示
.java
.class
)。在源代码视图中,它显示所描述的错误消息“发现了重复类”-从它的角度来看这是正确的,但是如果
.java
源代码也在那里,它首先应该忽略
.class
文件。至少这是我试图完成的。请提供一个示例项目来复制它。嗯,我不能通过创建一个最小的示例项目来复制它,即使设置是相同的。我将尝试找出项目数据文件本身的差异。好的,我相当肯定这是IntelliJ Idea中的一个bug,我可能应该向他们报告。当我从现有源创建一个新项目并使用IntelliJ建议的源路径时,我就会遇到这个问题。如果我不这样做,但在创建项目后手动将同一路径标记为源路径,那么一切都会按预期进行。现在我肯定会将其锁定。问题是我有几个模块。为了启动应用程序,我创建了一个库(projectsettings->Libraries),它也引用了单个模块源路径(因为类路径中需要编译的
class
文件)。因此,模块源目录被标记为“库”,IntelliJ似乎将它们视为JAR,加载
文件,这将导致所描述的问题。解决方案是添加模块依赖项,而不是模块的源目录。