目录
一、安装
待补充
二、设置
待补充
三、project和module的区别
3.1、什么是project
官方说明:
- Development in IntelliJ IDEA starts with a project. Projects help you organize your code and resources in a single unit that is easy to store and share. In simple words, a project is a directory that keeps everything that makes up your application. A typical project normally has a set of settings and one or several modules.
- A project in IntelliJ IDEA is a shell that keeps modules together, provides dependencies between them, and stores their shared configuration.
- In IntelliJ IDEA, a project helps you to organize your source code, tests, libraries that you use, build instructions, and your personal settings in a single unit.
翻译:
- IntelliJ IDEA 中的开发从一个项目开始。项目可帮助您在一个易于存储和共享的单元中组织代码和资源。简而言之,项目是一个目录,其中包含构成应用程序的所有内容。一个典型的项目通常有一组设置和一个或多个模块。
- IntelliJ IDEA 中的项目是一个外壳,它将模块保持在一起,提供它们之间的依赖关系,并存储它们的共享配置。
- 在 IntelliJ IDEA 中,项目可帮助您在单个单元中组织源代码、测试、使用的库、构建指令和个人设置。
3.2、什么是module
官方说明:
- In IntelliJ IDEA, a module is an essential part of any project – it's created automatically together with a project. Projects can contain multiple modules – you can add new modules, group them, and unload the modules you don't need at the moment.
- Generally, modules consist of one or several content roots and a module file, however, modules can exists without content roots. A content root is a folder where you store your code. Usually, it contains subfolders for source code, unit tests, resource files, and so on.
- Modules allow you to combine several technologies and frameworks in one application. In IntelliJ IDEA, you can create several modules for a project and each of them can be responsible for its own framework.
翻译:
- 在 IntelliJ IDEA 中,模块是任何项目的重要组成部分——它与项目一起自动创建。项目可以包含多个模块——您可以添加新模块、将它们分组并卸载当前不需要的模块。
- 通常,模块由一个或多个内容根和一个模块文件组成,但是,模块可以在没有内容根的情况下存在。内容根目录是您存储代码的文件夹。通常,它包含源代码、单元测试、资源文件等的子文件夹。
- 模块允许您在一个应用程序中结合多种技术和框架。在 IntelliJ IDEA 中,您可以为一个项目创建多个模块,每个模块都可以负责自己的框架。
说明:
上述文档参考:IDEA官方文档。也可以在IDEA工具的 help==>?help中查看
3.3、两者之间的关系
简单理解就是包含关系,一个项目可以包含一个或多个模块。项目是顶层结构,模块不能脱离项目独立创建。项目中也可以不创建模块,这个项目就相当于一个单模块的项目。
人们都喜欢拿一个新接触的事物与一个自己熟悉的事物作比较,一些使用过eclipse的程序员,希望通过比较eclipse和IDEA工具,实现快速上手的目的。建议大家不要盲目比较,多在IDEA中开发几个项目,就可以轻松学会了。如果非要比较,姑且可以认为IDEA中的project相当于eclipse中的workspace,module相当于eclipse的project,其实还是有差别的。
因为现在主流的大型项目都是分布式部署的,必然一个项目下就会有多个模块,于是这就对应着,项目就是Project,其下面的模块就是Module。对于一个大型项目而言,它下面是有很多个模块的,比如core Module(核心的模块)、web Module(web模块)、plugin Module(插件模块)以及solr Module(solr模块)等等,它们相互之间彼此依赖,也即它们彼此之间是可以相互调用的。在真实开发当中,有可能不同的模块是由不同的人来完成的。
相比较于多 Module 项目,小项目就无需搞得这么复杂。只有一个 Module 的结构 IntelliJ IDEA 也是支持的,并且 IntelliJ IDEA 创建项目的时候,默认就是单 Module 的结构的。
四、项目创建
4.1、空项目
1、依次点击File ==》 New ==》 Project,进入到下图界面,选择Empty Project,点击Next
2、填写Project name:java 3、点击Finish,完成空项目创建。
4.2、Java项目
1、根据4.1创建一个Project name为“java”的空项目
2、依次点击File ==》New ==》 Module,进入到下图界面,选择Empty Project,点击Next
3、填写Module name为:moduel1
4、点击Finish 5、测试,在src目录下添加包:com.flychuer,在包中新建类:TestMain
package com.flychuer;
public class TestMain {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
6、运行结果
4.3、JavaWeb项目
1、根据4.1创建一个Project name为“javaweb”的空项目
2、换一种方式新建module,依次点击File==》Project Structure进入到下图界面,选择Modules,点击上方的“+”号,选择New Module
3、选择Java,点击Next
4、填写Module name为:moduel1
5、点击Finish,点击OK
6、在模块module1上右键,点击Add Framework Support,进入下图界面,选中Web Application,点击OK
7、配置Tomcat
8、点击”+“号,选择Tomcat Server下的Local
9、修改name为module1,点击Fix 10、修改Application context为:module1,点击OK
11、运行,结果如下
4.4、maven管理的JavaWeb项目
1、根据4.1创建一个Project name为“springmvc”的空项目
2、依次点击File==》Project Structure==》Modules==》“+”==》New Module
3、选中Maven,Module SDK选择1.8,Create from archetype打对号✔,选中org.apache.maven.archetypes:maven-archetype-webapp,点击Next按钮。
4、填写Name等信息
5、确认信息无误,点击Finish。
6、点击OK按钮
7、新建java目录指定为Sources root,新疆resources目录指定为Resources root
8、配置Tomcat
9、配置pom.xml文件,修改jdk版本、添加jar包依赖等。
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!--servlet依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!--springmvc依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
</dependencies>
10、测试、运行结果