项目浏览器中的我的Intellij Idea文件名都有一个小红圈,带有" J"写在他们身上。这会代表什么?
答案 0 :(得分:12)
IntelliJ认识到这是一个java文件,但它没有标记为项目源的一部分。检查您的项目是否遵循maven标准,如果没有配置pom告诉它您的来源。您可以通过右键单击源根(在maven标准中为'java')并选择'Mark Directory As - >来在IntelliJ中临时修复此问题。 Source Root'
答案 1 :(得分:1)
创建模块时,通常它有一个内容根。您可以按照IntelliJ的Configuring Content Roots文档中的说明创建其他(并删除)内容根。
但是,您可能导入了包含模块的maven项目。换句话说,您有一个包含子模块的目录结构,如下所示:
parent-proj/
|
|--module-a-proj/
| |-- src/
| |-- pom.xml
|
|--module-b-proj/
| |-- src/
| |-- pom.xml
|
|-- pom.xml
如果您查看parent-proj/pom.xml
,则会看到<modules></modules>
部分。如果您的<modules>
包含您的子模块(例如上面示例中的module-a-proj
和module-b-proj
),那么IntelliJ会正确添加其src
目录作为内容根。
另一方面,如果子模块未包含在父pom中,那么您可能会看到红色符号,表示 Java类位于源根目录
因此,使用上面的示例,parent-proj/pom.xml
应该类似于下面的pom示例。 pom示例是故意稀疏的,仅用于演示目的。特别要注意<modules>
部分。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.your.groupid</groupId>
<artifactId>parent-proj</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>module-a-proj</module>
<module>module-b-proj</module>
</modules>
<dependencies></dependencies>
</project>
答案 2 :(得分:1)
对我来说,问题是intelliJ会以某种方式忽略.pom文件(不知道为什么) 取消选中该复选框以将其视为而不是忽略。然后开始工作
文件->设置->构建,执行,部署-> maven->忽略文件
答案 3 :(得分:0)
什么对我有用: 由于我进行了git pull操作,但是缓存仍来自旧版本,所以我要做的就是使缓存无效并在Intellij中重建项目