Maven使用
1.Maven的含义
含义:Maven是一个构建项目的工具,也是一个管理项目的工具
2.Maven的应用
1.构建项目
2.管理依赖
3.做项目的热部署
基于项目做多模块(modle)的构建
3.Maven的安装
注意:maven本身不需要安装,下载解压就可以了
1.配置环境变量
变量名 路径 M_HOME C:\apache-maven-3.6.0 Path %M_HOME%\bin 2.验证是否配置成功
打开cmd输入mvn -version
4.使用命令操作Java项目
4.1创建Java项目
1.进入工作空间,取名(xxxMavenWorkspace)
2.cd C:\MavenWorkspace 进入到此目录
3.输入命令来找模板 mvn archetype:generate
4.默认出现10个常见的模板 默认选择的是 7号模板(用来创建 java项目org.apache.maven.archetypes:maven-archetype-quickstart)
5.填写groupId – 组别(今天你的认为就是包名)
6.填写 artifactId – 项目名
7.填写 version – 版本号(这个直接默认就好,一般情况下不改)
8.填写 package – 包名(默认是groupId,这里默认就好)
10.输入 Y (确定)
构建项目
4.2 项目目录解析
MavenWorkspace\JavaTest01\src
MavenWorkspace\JavaTest01\src\main
C:\MavenWorkspace\JavaTest01\src\main\java 存放java源文件
C:\MavenWorkspace\JavaTest01\src\test 存放测试文件
MavenWorkspace\JavaTest01\pom.xml 插件管理、项目的依赖管理、整个项目自己的坐标
4.3 运行项目
1.cd C:\MavenWorkspace\JavaTest01 进入此目录
2.mvn package项目打包,此时会在项目根目录中生产target文件夹
3.cd C:\MavenWorkspace\JavaTest01\target 进入此目录
4.java -cp JavaTest01-1.0-SNAPSHOT.jar com.dream.test01.App 运行代码
注意:
mvn clean-----清空target文件
mvn install :打包并将这个jar文件放到本地仓库(管理jar文件的本地库)
mvn test:运行所有的测试用例
5.使用命令操作Web项目
5.1 创建Web项目
1.进入工作空间,取名(xxxMavenWorkspace)
2.cd C:\MavenWorkspace 进入到此目录
3.输入命令来找模板 mvn archetype:generate
4.选择10号模板(用来创建Web项目org.apache.maven.archetypes:maven-archetype-webapp)
5.填写groupId – 组别(今天你的认为就是包名)
6.填写 artifactId – 项目名
7.填写 version – 版本号(这个直接默认就好,一般情况下不改)
8.填写 package – 包名(默认是groupId,这里默认就好)
9.输入 Y (确定)
10.构建项目
5.2 项目目录解析
MavenWorkspace\WebTest01\src
MavenWorkspace\WebTest01\src\main
MavenWorkspace\WebTest01\src\main\resources存放资源文件
MavenWorkspace\WebTest01\src\main\webapp 存放前端资源和web.xml
C:\MavenWorkspace\WebTest01\pom.xml 插件管理、项目的依赖管理、整个项目自己的坐标
注意:mvn package项目打包,此时会在项目根目录中生产target文件夹
6.在IDEA中配置Maven
1.配置maven的国内仓库/中央仓库
位置:C:\apache-maven-3.6.0\conf\settings.xml
<mirrors>
<!-- <mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror> -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
2.配置maven的本地仓库
位置:C:\apache-maven-3.6.0\conf\settings.xml
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository> -->
<localRepository>C:\.m2\repository</localRepository>
3.在IDEA中配置Maven – File–> Setting
7.在IDEA中操作Java项目
新建项目,选择maven,java是选择quickstart
设置相关内容
直接运行就可以了
8.在IDEA中操作Web项目
新建项目,选择maven,JavaWeb选择webapp
其余步骤同上
解析pom.xml:
<?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.qf.test01</groupId>
<artifactId>WebTest01</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<!--
<packaging>jar</packaging>打包的时候打包成jar文件 - Java项目
<packaging>war</packaging>打包的时候打包成war文件 - Web项目
<packaging>pom</packaging>不打包,表示聚合项目工程
-->
<name>WebTest02 Maven Webapp</name>
<url>http://www.example.com</url>
<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>
<!--项目的jar依赖-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope><!--表示在测试的时候有效-->
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope><!--表示在编译和测试过程中有效,最后生成的war包时不会加入-->
</dependency>
</dependencies>
<!--项目的构建的时候使用的信息,插件-->
<build>
<finalName>WebTest02</finalName>
</build>
</project>
注意:编写java代码的位置问题
在web项目中对的src/main中创建java并设置成源码文件夹
java文件夹要设置成蓝色的
运行要配置tomcat
9.在IDEA中操作聚合项目(父工程项目/多模块构建) 重要
其余步骤同上
目录解析:
创建子级工程:右键父级工程 --> new --> moudle—后面的步骤和创建单个工程一样
9.1 聚合项目中工程之间相互引用
含义:在一个子级工程中引用另一个子级工程中的资源
在子级工程pom.xml中配置另一个子级工程的项目坐标
<dependencies>
<dependency>
<artifactId>StudentManagerSystemPojo</artifactId>
<groupId>com.qf.test01</groupId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependencies>
10.Maven管理项目依赖
含义:在Maven仓库中寻找Jar包
仓库分类:
本地仓库:本地的一个文件夹,用来存放所有的jar包,由自己维护
远程仓库(或私服):由公司或单位创建的一个仓库,由公司维护
中央仓库:互联网上的仓库,由Maven团队维护(国内一般设计阿里云为中央仓库,下载jar更快)
寻找流程:本地仓库 --> 远程仓库(或私服) --> 中央仓库
导包流程:
1.https://mvnrepository.com查询jar包描述
2.在项目pom.xml中配置jar包描述,IDEA将jar包下载到本地仓库即可
11.聚合项目案例:学生登录
项目框架
注意:导入jQuery包
sms_web中的pom.xml
在操作xml报红,重启idea或者刷新pom.xml
注意:web.xml就配置一下欢迎页面就可以了
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.qf.test01</groupId>
<artifactId>MavenStudentManagerSystem</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>sms_web</artifactId>
<packaging>war</packaging>
<name>sms_web Maven Webapp</name>
<url>http://maven.apache.org</url>
<!-- 相关jar包的配置 -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.23</version>
</dependency>
<!-- 导入其他子工程项目 -->
<dependency>
<groupId>com.qf.test01</groupId>
<artifactId>sms_pojo1</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.51</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<finalName>sms_web</finalName>
<!-- 配置jdk1.8插件 -->
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
总结
初识Maven
使用命令操作java项目、web项目
配置Maven(本地仓库、中央仓库、IDEA配置Maven)
使用IDEA操作Java项目、web项目
使用IDEA操作聚合项目 ---- 重点
初识SpringMVC
今天的聚合项目多创建几次 – 熟悉
子级工程之间如何引用
如何导入jar包