在IDEA 14中导入maven项目后,某些类不被识别为java类

时间:2015-03-12 17:08:59

标签: java maven intellij-idea

在IDEA 14中导入maven项目后,某些类不被识别为java类。 class。 并且这些类未标记为源的项目(蓝色)project

我对项目不太熟悉,所以有人能告诉我这是pom文件中的一些错误,或者这可能是有效的情况。如果这是错误,请如何解决此问题。

我想提一下,重新导入项目没有帮助(我也删除了.idea文件夹),所以我认为问题与pom.xml中的错误配置有关。这是一个多模块项目,项目中有不同的maven配置文件。

感谢任何想法和帮助))

2 个答案:

答案 0 :(得分:3)

如果右键单击目录并单击

  

将目录标记为 - >来源根

Intellij Idea会将文件识别为Java文件

enter image description here

答案 1 :(得分:2)

默认情况下,Maven希望所有源代码都位于/src/main/java(或/src/test/java)。您可以拥有居住在其他地方的代码,但是您必须告诉Maven pom.xml文件中的这些非常规路径。

我的猜测是你的源码存在于这些目录之外,并且未在pom.xml文件中引用。如果这是真的,我猜你的命令行maven版本也会被破坏。

This SO question & answer解释了如何告诉maven关于标准目录之外的来源。它看起来像这样:

<build>
    <sourceDirectory>${basedir}/src/custom</sourceDirectory>
</build>

IntelliJ IDEA将在您的pom.xml文件中识别此设置,并将相应的目录设置为项目中的源文件夹。

然而,IMO除非你真的需要,否则偏离Maven惯例并不是一个好主意。您遵循的约定越多,pom的复杂程度就越低。如果他们已经拥有其他Maven项目的经验,它还可以帮助新开发人员快速完成项目工作。