5. 使用IDEA创建Maven工程 - 创建javase工程
1.目标
- 能够使用IDEA创建javase的Maven工程
2.路径
- 创建java工程
- java工程目录结构
- 编写Hello World!
3.讲解
一般使用 Idea 创建 java 工程分有两种情况,如下:
- 一个java工程,存在多个 Module 模块项目,也就是说存在多个项目
- 一个java工程,仅有一个项目
那么这两种情况其实创建上都是差不多的,我们直接看看第一种情况。
4. 使用 Maven 的骨架,创建多个 Module 模块的项目
4.1 首先创建一个空工程
image-20201213103920843
image-20201213104020286
4.2 在空工程中创建 Module 模块
创建空工程之后就会出现项目结构,提示需要创建 Module 模块,如下:
image-20201213104154479
4.3 选择使用 Maven 的骨架快速创建 javase 工程
image-20201213104418555
4.4 填写 Maven 项目信息
image-20201213104632368
4.5 配置 Maven 的设置
image-20201213104806425
4.6 设置 Module 项目的名称以及存储地址
image-20201213104903788
4.7 创建 Module 项目之后,Idea 将会自动从远程仓库同步所需的 jar 包
image-20201213104959551
image-20201213105027666
4.8 设置 Java 工程目录结构
创建完毕之后,工程目录如下:
image-20201213105632822
4.8.1 设置 main/java文件夹变成 源码的目录(存放java源码)
image-20201213105853744
image-20201213105942410
4.8.2 设置 test/java文件夹变成 测试源码的目录(存放单元测试)
image-20201213110145734
image-20201213110230048
配置完测试目录之后,我们可以看到缺少了需要的 jar 包。这个后面我们在 pom.xml 中配置。
4.8.3 创建 resources 目录, 变成资源的目录
image-20201213110456785
4.8.4 完整的目录结构
image-20201213110643952
4.9 工程项目的依赖 pom.xml
image-20201213111212052
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 本项目的坐标 -->
<groupId>com.lijw</groupId>
<artifactId>javase_demo</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 项目的名称以及服务url -->
<name>javase_demo</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<!--
项目的一些属性配置
<project.build.sourceEncoding> 项目构建时候的字符集
<maven.compiler.source> 编译的源码的jdk版本, 设置为1.8版本
<maven.compiler.target> 编译的目标文件的jdk版本, 设置为1.8版本
-->
<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里面
-->
<dependencies>
<!--
每一个dependency标签就负责引入一个依赖
-->
<dependency>
<!--
groupId 坐标的组织名
artifactId 坐标的项目名
version 坐标的版本号
scope 依赖的使用范围,如果为test就表示只能在test里面的java里面使用
-->
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
4.10 基于 pom.xml 下载依赖
image-20201213111504679
image-20201213111521777
image-20201213111618640
image-20201213111702080
4.11 执行单元测试
image-20201213111812346
5.小结
- JavaSe工程的骨架
- 项目的结构
6.不使用 Maven 骨架,创建 javase 工程
6.1 创建 Module 模块,不使用 Maven 的骨架
image-20201213112749417
填写项目的信息,注意 Parent 等要设置为 none,如下:
image-20201213113019937
image-20201213113036368
6.2 自动创建好的工程目录结构
image-20201213113432678
不适用 Maven 骨架创建项目存在一定的优点和缺点,如下:
- 优点:
- 自动创建完整的工程目录结构
- 初始化项目较快,因为不需要下载多余的 jar 包依赖
- 缺点:
- pom.xml 配置没有内置一些配置,也就是都需要自己去配置填写了。
image-20201213113704207
6.3 额外 pom.xml 的配置
6.3.1 设置项目的打包方式为 jar 包
image-20201213113941352
<!-- 设置项目的打包方式 -->
<packaging>jar</packaging>
6.4 引入 junit 依赖
我们可以按住
alt + insert
快捷输入依赖,如下:
image-20201213114223515
image-20201213114335620
6.5 下载新增的依赖
image-20201213114453391
image-20201213114802119
6.6 创建单元测试
image-20201213115105145