IntelliJ IDEA(七) :Project Structure
Project Structure
“ 项目结构”对话框允许您管理项目和IDE级别的元素,例如Modules,Facets,Libraries, Artifacts和SDK。

在大多数情况下,左边部分有两个窗格实现了两级选择器。唯一的例外是当你选择项目,在这种情况下只有一个选择器窗格。
打开方式有两种:
1. 通过工具栏

2.通过快捷键
Ctrl+Shift+Alt+S
Project
指定项目名称,SDK,语言级别和编译器输出路径。

- Project name:项目名,使用此字段编辑项目名称。
- Project SDK:项目SDK,选择项目SDK。如果所需SDK不在列表中,请单击“ New”,然后选择所需的SDK类型。然后,在打开的对话框中,选择SDK主目录,然后单击确定。要查看或编辑所选SDK的名称和内容,请单击"Edit"。(SDK页面将打开。)
- Project language level:选择要支持的Java语言级别。选定的级别将被用作项目默认值。
可用选项对应于JDK版本:
1.3 - 普通的旧Java
1.4 - “断言”关键字
5.0 - 'enum'关键字,自动装箱等
6.0 - @Override在接口
7.0 - 钻石,ARM,多捕获等
8.0 - Lambda支持,类型注释等
可以为您的任何模块设置单独的语言级别 。
请注意,如果目标级别没有明确定义(编译器选项-target),则认为它与源语言级别相同。
因此,如果-target没有明确定义,它将与语言水平同步。 - Project compiler output:项目编译器输出,指定IntelliJ IDEA将存储编译结果的路径。单击选择路径对话框中browseButton 的目录。
指定目录中的两个子目录将被创建:
production 为生产代码。
test 为测试来源。
在这些子目录中,将为每个模块创建单独的输出目录。输出路径可以在模块级重新定义。
Modules
指定项目名称,SDK,语言级别和编译器输出路径。在“ Project Structure”对话框中的类别中,现有groups, modules, facets以及Flash模块的build configurations显示在元素选择器窗格中。(Facets and build configurations显示为模块元素。)

- Name:项目名称
- Souces:这里对Module的开发目录进行文件夹分类,就是说这个module里有什么内容,说明了不同性质的内容放在哪里。
注意,这些不同内容的标记代表了一个标准Java工程的各项内容,IntelliJ就是根据这些标记来识别一个Java工程的各项内容的,比如,它会用javac去编译标记为Sources的源码,打包的时候会把标记为Resources的资源拷贝到jar包中,并且忽略标记为Exluded的内容。左边显示的是在选中内容的预览。 - Paths:为模块配置编译器输出路径,还可以指定与模块关联的外部JavaDocs和外部注释的位置。
- Dependencies:在此选项卡上,您可以定义模块SDK并形成模块依赖关系列表。
Sources
对module的开发目录进行文件夹分类,以让idea明白怎么去对待他们,明确哪些是存放源代码的文件夹,哪些是存放静态文件的文件夹,哪些是存放测试代码的文件夹,哪些是被排除编译的文件夹。

Language level:语言级别列表,使用此列表为模块选择Java语言级别。可用选项对应于JDK版本。

Sources:源代码存放的文件,蓝色。
Tests:设置测试代码存放的文件件,绿色。
Resources:一般对应着Sources文件,一般放配置文件,如:log4j.properties,application.yml。
Test Resources:这个对应着Tests文件夹,存放着Tests代码的配置文件。
Excluded:设置配出编译检查的文件,例如我们在project模块设置的out文件夹。
Paths

- Compiler output:编译输出路径。
1. Inherit project compile output path:继承项目编译输出路径 选择此选项以使用为项目指定的路径。即上面在Project选项中设置的out文件路径。
2. Use module compile output path:使用模块编译输出路径。
Output path:编译输出路径。
Test output path:测试代码编译输出路径。
Exclude output paths: 排除输出路径,选中此复选框可以排除输出目录。
- JavaDoc:使用可用控件组合与模块关联的外部JavaDocs存储位置的列表。
- External Annotations:外部注释。使用
和
管理与模块关联的外部注释的位置(目录)列表。
Dependencies
在此选项卡上,您可以定义模块SDK并形成模块依赖关系列表。

- Module SDK:模块SDK,选择模块SDK。
(要将项目SDK与模块相关联,请选择Project SDK。请注意,如果稍后更改了项目SDK,模块SDK将相应更改。
如果所需SDK不在列表中,请单击“ 新建”,然后选择所需的SDK类型。然后,在打开的对话框中,选择SDK主目录,然后单击确定。
要查看或编辑所选SDK的名称和内容,请单击编辑。(SDK页面将打开。) - 依赖列表
- 相关性存储格式,选择用于存储依赖关系的格式(作为IntelliJ IDEA模块或Eclipse项目)。该选项对使用不同开发工具的团队有帮助。
Libraries
在此选项卡上,您可以定义模块SDK并形成模块依赖关系列表。

首先,可以创建一个新的项目库,可以设置分类。

可以添加本地jar包,网络来源的jar包,排除jar包,删除jar包。

Facets
表示这个 module 有什么特征,比如 Web,Spring 和 Hibernate 等;

Artifacts
Artifact 是 maven 中的一个概念,表示某个 module 要如何打包,例如 war exploded、war、jar、ear 等等这种打包形式;
一个 module 有了 Artifacts 就可以部署到应用服务器中了!
在给项目配置 Artifacts 的时候有好多个 type 的选项,exploed 是什么意思?
explode 在这里你可以理解为展开,不压缩的意思。也就是 war、jar 等产出物没压缩前的目录结构。建议在开发的时候使用这种模式,便于修改了文件的效果立刻显现出来。默认情况下,IDEA 的 Modules 和 Artifacts 的 output 目录 已经设置好了,不需要更改,
打成 war 包 的时候会自动在 WEB-INF 目录 下生产 classes 目录 ,然后把编译后的文件放进去。

SDKS
系统开发工具 ,全局 SDK 配置 。
Global libraries
全局类库,可以配置一些常用的类库。
Problems
问题,在项目异常的时候很有用,可以根据提示进行项目修复(FIXED)。

IntelliJ IDEA(七) :Project Structure的更多相关文章
- IntelliJ IDEA 的Project structure说明
IntelliJ IDEA 的Project structure可以在File->Project structure中打开,同时,在新建项目是IDE一般用向导的方式让你填写Project str ...
- 【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 项目结构详解(简单明了)
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 ...
随机推荐
- HDU2689-Sort it-冒泡排序
Sort it Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...
- BZOJ 1018: [SHOI2008]堵塞的交通traffic(线段树)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1018 用线段树维护区间连通性,对于每一个区间记录6个域表示(左上,左下)(左上,右上)(右上, ...
- 2017 ICPC/ACM 沈阳区域赛HDU6223
Infinite Fraction Path Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 262144/262144 K (Java ...
- hdu_3068 最长回文(Manacher算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068 最长回文 Time Limit: 4000/2000 MS (Java/Others) M ...
- ES5.0集群搭建
最近在网上看到很多ES集群的搭建方法,本人在这人使用Elasticsearch5.0.1版本,介绍如何搭建es集群并安装head插件和其他插件安装方法. 一.搭建环境(2台Centos7系统服务器) ...
- [国嵌笔记][021-022][ARM处理器工作模式]
[ARM处理器工作模式] 处理器工作模式 1.User(urs):用户模式,linux应用程序运行在用户模式 2.FIQ(fiq):快速中断模式 3.IRQ(irq):中断模式 4.Superviso ...
- Jfinal——实践出真知
什么是Jfinal? JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restful.在拥有Java语言所 ...
- 一个域名最多能对应几个IP地址?,一个IP地址可以绑定几个域名?
一个域名最多能对应几个IP地址?,一个IP地址可以绑定几个域名?谢谢 xikeboy | 浏览 31055 次 推荐于2016-04-24 14:21:14 最佳答案 1.也就是说通常情况下一个域名同 ...
- Python3 的注释
单行注释 # 这是一个注释 print("Hello, World!") 多行注释 1:3个单引号 ''' 这是多行注释,用三个单引号 这是多行注释,用三个单引号 这是多行注释,用 ...
- <button>与<input type="button">的区别
一.定义和用法 <button> 标签定义的是一个按钮. 在 button 元素内部,可以放置文本或图像.这是<button>与使用 input 元素创建的按钮的不同之处. 二 ...