【问题标题】:Java project folder structure in IntelliJ IDEAIntelliJ IDEA 中的 Java 项目文件夹结构
【发布时间】:2022-05-03 03:38:03
【问题描述】:

对于 IntelliJ IDEA 中的 Java 项目,可接受的文件夹结构是什么?

多个来源 (like this) 建议采用以下结构:

.
│ .idea    
└── src
    ├── main
    │   ├── java   
    │   │   └── com.simpleproject
    │   │       └── SimpleClass.java
    │   └── resources
    └── test
        ├── java
        │   └── com.simpleproject
        │       └── SimpleClassTest.java
        └── resources

我知道这以前有效,但现在它在抱怨java.lang.SecurityException: Prohibited package name: java

Apparently, java 不允许作为包名。我不明白为什么有时可以接受,有时不能接受。有人可以提供 IntelliJ IDEA 中 Java 项目中可接受的项目文件夹结构的完整示例吗?

【问题讨论】:

  • 在项目结构中,将根文件夹(java源代码)设置在java级别(可能,现在设置在主级别)-我相信您可以右键单击主文件夹,将文件夹设置为(先取消设置)然后右键单击java文件夹,将文件夹标记为'source'
  • 请注意,这不是 IntelliJ 原生使用的结构。它是 Maven 或 Gradle 项目的标准结构。为什么不使用其中一种标准构建工具?
  • @ochi 谢谢,原来将sources 设置为main 而不是java 导致了问题。
  • 那是standard maven directory layout。我想您没有将源代码作为 Maven 项目导入,或者您是手动创建的。无论哪种方式,源文件夹都没有正确配置。只需打开 project structure window(文件 -> 项目结构)并更新您的模块。

标签: java intellij-idea


【解决方案1】:

这是一个maven项目的基本文件夹结构。 IntelliJ 通常会识别这一点并为您设置合理的默认值。

如果没有(或者如果有但您后来修改了它们),您需要将您的 java 文件夹设置为 sources 文件夹(即包含源代码的文件夹)。

为此,您需要:

  1. 转到您的项目结构设置:File > Project Structure
  2. 在中间面板中选择您的项目
  3. 在右侧面板中选择“来源”选项卡
    • 注意来自评论(感谢@Line):在 IntelliJ 2018.3.5 中,您“在左侧面板中选择“模块”选项卡”。
  4. 导航到src/main/java 文件夹并选择它
  5. 标记为Sources

重复测试文件夹(标记为“测试”)、资源(标记为“资源”)、测试资源(标记为“测试资源”)等。

【讨论】:

  • @Hephaestus 我很高兴能帮上忙 :)
【解决方案2】:

您在 IntelliJ 的 File > Project Structure 页面中的配置将在每个 clean install 之后被项目的 pom.xml 覆盖。为了防止这种情况,您需要在pom.xml 中配置源目录,如下所示:

<sourceDirectory>src/main/java</sourceDirectory>

【讨论】:

    【解决方案3】:

    在项目结构设置中,选择模块 -> 选择任何标记为将文件夹类型设置为特定类型。然后做 mvn clean 和 mvn compile

    【讨论】:

      【解决方案4】:

      只需关闭 intellij 并从项目根目录中删除任何现有的 .IML 文件即可

      【讨论】:

        【解决方案5】:

        我使用的是 Mac OSx,在我的情况下,IntelliJ 没有为我创建 src/main/java 目录,我尝试创建这些目录,但在项目的右键菜单下看不到创建目录。

        因此我通过终端/查找器手动创建了这些目录。然后我去了File -&gt; Project Structure并将src/main/java标记为来源

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-11-04
          • 2012-05-11
          • 1970-01-01
          • 1970-01-01
          • 2015-01-19
          • 1970-01-01
          • 2016-09-03
          相关资源
          最近更新 更多