IntelliJ IDEA 的Project structure可以在File->Project structure中打开,同时,在新建项目是IDE一般用向导的方式让你填写Project structure相关内容。在说明如何填写之前,先说说这些项都代表什么,包含Project、module、library、artficat和facet。project就是这个工程,下面有很多module。这里project和module的关系类似于Visual Studio中的解决方案和项目之间的关系,project对应于解决方案,module对应于项目(没错,就是这样,project就是顶层,不要看英文翻译)。library就是要包含的library,这个有点像VS里的程序集的概念。artifact是打包用的,这是maven里的概念,就是这个资源包含了哪些内容,当用package时,生成相应的jar或war,用instal(maven里用于发布资源)时,这个包会连同其它必要的文件(如.pom文件),最后放在repository(maven的仓库)中。facet是为了确认信息,比如源码在哪里放、相关资源(图形等)在哪里放、java web程序的root路径等等。

  因为其它两个都比较简单,故略去,这里主要来看module和artifact。

  首先来看module,如下图所示,sources就是说这个module里有什么内容。右边是根节点,一般就是这个module的名字,根节点下有一些预览,说明了不同性质的内容放在哪里。左边显示的是在右边选中内容的预览。

  Dependency就是管理这个module的依赖项,依赖项可能是library包,也可能是其它的mocule。这里有个export选项,这个选项被选上了话,那么说明:将来某一个module依赖本module的话,那么被选中这个选项的项也会出现在那个module中。也就是说,有一个传递性。

  接下来再看artifact。artifact就是对应的一个maven的artifact,通常是一个java包。而如下如红色框1所示的是这个artifact的具体内容,你希望最终发布什么内容,就是在这设置的。内容的指定形式可以多样化,比如图中的1.1红框,它就是指得是52n-ses-core这个module的编译输出目录的内容(也就是说源码编译后的所有字节码),也就是后面一张图显示的;1.2红框指得是52n-ses-core这个module的Facet的内容(facet就是上面的facet设置的内容)。这些内容可以通过拖动的方式直接在红框右边的Available Elements列表中添加,这些内容可能是library或者是"xxx"complie output等。

52n-ses-core这个module的编译输出目录:

52n-ses-1.2.2这个artifact打包后的war:

“52n-ses-core”complie output输出的内容,对照上图可以看到这些内容最后都被打包到了war的WEB-INF/classes下。

IntelliJ IDEA 的Project structure说明的更多相关文章

  1. 【intellij idea】Project Structure 讲解

    项目的左侧面板 项目设置->Project Project Settings -> Modules Sources面板 Paths面板 dependencies面板 Project Set ...

  2. 21. 【intellij idea】Project Structure 讲解

    转自:.https://www.cnblogs.com/zadomn0920/p/6196962.html 项目的左侧面板 项目设置->Project Project Settings -> ...

  3. [Intellij] Project Structure 配置说明

    IntelliJ IDEA 的Project structure可以在File->Project structure中打开,同时,在新建项目是IDE一般用向导的方式让你填写Project str ...

  4. IntelliJ IDEA(七) :Project Structure

    Project Structure “ 项目结构”对话框允许您管理项目和IDE级别的元素,例如Modules,Facets,Libraries, Artifacts和SDK. 在大多数情况下,左边部分 ...

  5. intellij idea - Project Structure 项目结构详解(简单明了)

    IDEA Project Structure 设置 可以点击  按钮,或者使用快捷键 Ctrl + Shift + Alt + S  打开 Project Structure .如下如所示: 项目的左 ...

  6. Project Structure详解

    Project Structure “ 项目结构”对话框允许您管理项目和IDE级别的元素,例如Modules,Facets,Libraries, Artifacts和SDK. 在大多数情况下,左边部分 ...

  7. 非maven项目 idea project structure

    原文链接:https://www.cnblogs.com/jajian/p/8081640.html 最近接手非maven项目,需要熟悉idea的project structure,以解决出现的环境报 ...

  8. 玩转IDEA项目结构Project Structure,打Jar包、模块/依赖管理全搞定

    前言 你好,我是A哥(YourBatman). 如何给Module模块单独增加依赖? 如何知道哪些Module模块用了Spring框架,哪些是web工程? IDEA如何打Jar包?打War包? 熟练的 ...

  9. .project sturcture和Project Structure 无论是按快捷键或者是从files中打开都不显示

    project sturcture和Project Structure 无论是按快捷键或者是从files中打开都不显示 event log中报:IllegalArgumentException:Mul ...

随机推荐

  1. osgi与webservice

    osgi简介: http://osgia.com/ http://blog.csdn.net/xiaokui008/article/details/9662933 http://wdhdd889.it ...

  2. Swift和OC混编时, 关于@objc的作用

    Objective-C 和 Swift 在底层使用的是两套完全不同的机制,Cocoa 中的 Objective-C 对象是基于运行时的,它从骨子里遵循了 KVC (Key-Value Coding,通 ...

  3. Java反射 - 2(对象复制,父类域,内省)

    为什么要复制对象?假设有个类Car,包含name,color2个属性,那么将car1对象复制给car2对象,只需要car2.setName(car1.getName)与car2.setColor(ca ...

  4. Powershell调用静态方法

    Powershell将信息存储在对象中,每个对象都会有一个具体的类型,简单的文本会以System.String类型存储,日期会以System.DateTime类型存储.任何.NET对象都可以通过Get ...

  5. JavaScript 比较操作符,严格比较===

    JavaScript 有两种比较方式:严格比较运算符和转换类型比较运算符.对于严格比较运算符(三个 =)来说,为ture的情况是仅当两个操作数拥有相同的类型,而对于被广泛使用的比较运算符(两个 =)来 ...

  6. jmap命令结合mat插件分析内存泄露--OQL

    http://smallnetvisitor.iteye.com/blog/1826434 User.java package gc; import java.util.ArrayList; impo ...

  7. 关于标准C语言的预定义宏

    标准C语言预处理要求定义某些对象宏,每个预定义宏的名称一两个下划线字符开头和结尾,这些预定义宏不能被取消定义(#undef)或由编程人员重新定义.下面预定义宏表,被我抄了下来.__LINE__  当前 ...

  8. 【转】Java 多线程(四) 多线程访问成员变量与局部变量

    原文网址:http://www.cnblogs.com/mengdd/archive/2013/02/16/2913659.html 先看一个程序例子: public class HelloThrea ...

  9. VS013的单元测试去哪里了

    需要安装这个插件 http://visualstudiogallery.msdn.microsoft.com/45208924-e7b0-45df-8cff-165b505a38d7

  10. RenderBody, RenderPage and RenderSection methods in MVC 3

    原文地址:http://www.codeproject.com/Articles/383145/RenderBody-RenderPage-and-RenderSection-methods-in R ...