• IDEA | Idea项目目录结构设定分析



    author: Nathan_alzy
    date: 2021-11-06-17:45


    tags: #IDEA

    Distribution: Local / cnblog

    1、理解Idea目录设定需要掌握的概念

    • Module
    • Project
    • Content root

    2、不同结构视图

    • 文件系统中项目视图
    • Idea中项目视图

    案例1: 默认创建一个项目Project

    S1: 退出当前项目,从Idea欢迎界面创建一个新的项目

    S2: 点击【Projects】➞ 【New Project】

    image-20211106175347904

    S3: 设置项目名和路径

    image-20211106175652813

    Project name = Project_demo
    Project location = D:ProjectsProject_demo
    ---
    Module name = Project_demo
    Content root = D:ProjectsProject_demo
    Module file location = D:ProjectsProject_demo
    Project format = .idea(directory based)
    

    分析: 默认Project location是“某个磁盘位置+当前项目名(Project name)”,同时注意到下方的【More Settings】选项,模块名(Module name)也是当前项目名,内容根目录也是Project location,模块文件位置也是Project location

    猜想: 创建一个项目(Project)”Project_demo”会同时创建一个默认的模块(Module),且这个模块名和项目名一致。储存位置也和项目名一致。

    最后的结构是:

    Project_demo
        │
        ├───.idea
        │
        │
        ├───src
        │
        │
        └───Project_demo.iml
    

    在文件系统中的内容结构:

    image-20211106182038350

    Idea中项目内容:

    image-20211106183231649

    ⚠️ 这里的「Project_demo」指示的不是项目名的「Project_demo」而是模块名的「Project_demo」,因为这里采用默认,则模块名和项目名相同。

    S4: 查看项目设置(Project Setttings),【File】➞ 【Project structure】

    image-20211106180717160

    可以看到确是存在名为“Project_demo”的模块,即证明了在创建一个项目时同时创建了一个同名的模块。

    案例2: 创建一个项目同时指定多个模块

    为了更直观的认识「Project」和「Module」,这次创建项目同时指定Module名和储存路径,而不采用默认项目名和项目储存路径。

    image-20211106181025652

    猜想: 这样设置后,会在Proct_demo2下创建一个模块名为Module_demo,并且储存在D:ProjectsProject_demo2Module_demo下。

    创建的项目目录结构:

    Project_demo2
        │
        │
        ├───.idea
        │
        │
        └─┬─Module_demo
          │
          ├─── src
          │
          └────Module>demo.imi
    

    文件系统中内容结构:

    image-20211106182323371

    在Idea中显示的结构:

    image-20211106182541484

    此时,指定Module储存位置和Project储存位置区分后,只显示模块名「Module_demo」

    分析: 通过案例1和案例2可以区分「Project」和「Module」。

    从生成内容上区分:

    • Project: 仅仅生成.idea文件
    • Module: 生成srcxxx.imi文件

    情况1: 如果设置Project储存路径和Module路径一样,则.idea,src,xxx.imi会在同目录下。

    情况2: 如果单独指定Module名,指定Module储存路径,则模块内容在单独目录下。

    这也是为什么案例1中模块文件和项目文件混合起来

    image-20211106182127475

    案例3:创建项目指定module location

    image-20211106184535925

    文件树结构:

    D:.
    ├─.idea
    │  └─codeStyles
    │    
    ├─ModuleName_demo3
    └─Module_demo3
        └─src
    

    分析: 说明content rootmodule并不是同一个概念。

    Content root和Module file辨析

    • Content root: 表示储存模块的内容根目录,内容有src
    • Module file location: 模块的储存位置,内容有xxx.imi

    总结:

    Project只是一个范围的限制,用于限定若干模块,可以理解为一个文件夹,没有实质功能,真正的代码是编写在模块中,创建项目真正是创建模块。

    image-20211106191616872

    默认创建项目(不指定模块名,和储存位置),虽然在文件系统中是一个结构,以项目名为名的目录下有若干内容,但是在idea中查看结构,有明显的「project」和「Module」的配置之分。所以为了搞清楚当前项目结构以Idea界面中的配置为准。

    1、对于不同概念(目录)产生的内容

    • Project: 生成.idea
    • Module: 生成xxx.imi
    • Content root: 生成src

    2、对于模块名称和模块储存位置

    • 如果创建项目不显式指定模块名,则模块名和项目名相同
    • 如果不指定模块储存位置,则模块储存在项目根目录下,此时项目文件和模块文件混杂

    来源: 博客园
    作者: 茶哩哩
    文章: 转载请注明原文链接:https://www.cnblogs.com/martin-1/p/15518105.html

  • 相关阅读:
    一维,二维差分 (P3397 地毯)
    P3406 海底高铁
    P2004 领地选择
    priority_queue 大顶堆与小顶堆的用法 & 常见数据结构时间复杂度
    AcWing 电影
    P2678 跳石头
    HDU2041超级楼梯
    HDU2087剪花布条
    n条线分平面问题解决方法总结
    HDU2034 人见人爱A-B(C++)
  • 原文地址:https://www.cnblogs.com/martin-1/p/15518105.html
Copyright © 2020-2023  润新知