IntelliJ IDEA 的Project structure说明
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说明的更多相关文章
- 【intellij idea】Project Structure 讲解
项目的左侧面板 项目设置->Project Project Settings -> Modules Sources面板 Paths面板 dependencies面板 Project Set ...
- 21. 【intellij idea】Project Structure 讲解
转自:.https://www.cnblogs.com/zadomn0920/p/6196962.html 项目的左侧面板 项目设置->Project Project Settings -> ...
- [Intellij] Project Structure 配置说明
IntelliJ IDEA 的Project structure可以在File->Project structure中打开,同时,在新建项目是IDE一般用向导的方式让你填写Project str ...
- IntelliJ IDEA(七) :Project Structure
Project Structure “ 项目结构”对话框允许您管理项目和IDE级别的元素,例如Modules,Facets,Libraries, Artifacts和SDK. 在大多数情况下,左边部分 ...
- intellij idea - Project Structure 项目结构详解(简单明了)
IDEA Project Structure 设置 可以点击 按钮,或者使用快捷键 Ctrl + Shift + Alt + S 打开 Project Structure .如下如所示: 项目的左 ...
- Project Structure详解
Project Structure “ 项目结构”对话框允许您管理项目和IDE级别的元素,例如Modules,Facets,Libraries, Artifacts和SDK. 在大多数情况下,左边部分 ...
- 非maven项目 idea project structure
原文链接:https://www.cnblogs.com/jajian/p/8081640.html 最近接手非maven项目,需要熟悉idea的project structure,以解决出现的环境报 ...
- 玩转IDEA项目结构Project Structure,打Jar包、模块/依赖管理全搞定
前言 你好,我是A哥(YourBatman). 如何给Module模块单独增加依赖? 如何知道哪些Module模块用了Spring框架,哪些是web工程? IDEA如何打Jar包?打War包? 熟练的 ...
- .project sturcture和Project Structure 无论是按快捷键或者是从files中打开都不显示
project sturcture和Project Structure 无论是按快捷键或者是从files中打开都不显示 event log中报:IllegalArgumentException:Mul ...
随机推荐
- Assembly 'Microsoft.Office.Interop.Excel
编译的时候报错,都无法通过编译: Assembly 'Microsoft.Office.Interop.Excel, Version=14.0.0.0, Culture=neutral, Public ...
- 查询oracle表和sql数据量大小
select t.TABLE_NAME,t.NUM_ROWS from user_tables t order by t.TABLE_NAME:--oracle SELECT object_name ...
- Cacti添加Advance Ping监控模板
Cacti脚本 1.Advance Ping 脚本及模板 注:要使用此模板,编译PHP时必须加上--enable-sockets选项来支持套接字. 1).功能:此模板用来监控一个TCP/U ...
- xib添加手势后报错:-[UITapGestureRecognizer setFrame:]: unrecognized selector sent to instance xxx
主要原因如下: + (instancetype)mineHeaderView { return [[NSBundle mainBundle] loadNibNamed:@"DDMineHea ...
- xcode 删除 Provisioning Profile
provisioning profile path: ~/Library/MobileDevice/Provisioning Profiles 打开并日期排序,删除老的 provisioning pr ...
- mysql group by 用法解析
group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表.SELECT子句中的列名必须为分组列或列函数.列函数对于GROUP BY子句定义的每个组各返回一个结果. ...
- C/C++默认浮点型
代码: #include <iostream> #include <cstdio> using namespace std; void test(int a){ cout< ...
- 学习OpenSeadragon之五(工具条toolbar与自定义按钮)
OpenSeadragon简介:学习OpenSeadragon之一(一个显示多层图片的开源JS库) 一.工具条toolbar设置 OpenSeadragon为我们提供了现成的工具条toolBar,工具 ...
- 如何使用cocos2dx-jsbinding 来处理分辨率适配
首先说点题外话,对于任何大型项目来说,coding的规范重要,在cocos2dx-jsbinding这个框架中,javascript是一个绝对核心的脚本语言,99%的游戏逻辑都由js完成.脚本的编写量 ...
- Css3执行后显示最后一针
-webkit-animation-fill-mode: both; animation-fill-mode: both;