maven
1.什么是maven
1.maven
是项目管理工具,对软件项目提供构建与依赖管理
2.maven
是apache
下的java开源项目
3.maven
为java
项目提供了统一的管理方式,已成为业界标准
2.maven的好处
1.项目设置遵循统一的规则,保证不同开发环境的兼容性。
2.强大的依赖管理,项目依赖组件自动下载、自动更新
3.扩展的插件机制、使用简单、功能丰富
3.maven下载与安装
maven需要依赖jre,所以需要提前配置好JAVA_HOME环境变量
maven
官网地址,www.maven.apache.org
1.下载并解压
2.配置maven
环境变量
3.检测是否安装成功,终端窗口输入 mvn -v
如果出现maven
版本信息,则安装成功
4.maven和eclipse整合
1.windows --> preference --> maven --> installations
2.点击add
,Installation home
选择本地maven
根目录即可,例如D:\apache-maven-3.6.0
3.点击finish
即可,然后给我们新添加的maven
打上勾,然后点击Apply and Close
就行了
5.maven项目标准结构
1.maven的专业术语
Group Id和Artiface Id和Verssion
一起组合,我们称其为坐标
Group Id //机构或者团体的英文、采用"逆向域名"形式书写
Artifact Id //项目名称、说明其用途、例如:cms、oa...
Version // 版本号,一般采用"版本+单词"形式,例如:1.0.0.RELEASE
Pckaging //输出的最终文件,jar或war包
2.目录结构
src //源代码目录
main
java //java源代码目录
resources //资源目录,保存配置文件,静态图片等
test
java //测试类的源代码
resources //测试时需要使用的资源文件
target //项目输出的目录,用于存储jar、war文件
classes //字节码(.class)的编译输出目录
pom.xml //工程核心配置文件,项目(Project)对象(Object)模型(Model)文件
6.maven的依赖管理
maven
使用dependency(依赖)
自动下载、管理第三方jar
在pom.xml
文件中共配置项目依赖的第三方组件
maven
自动将依赖从远程仓库下载至本地仓库,并在工程中引用
案例:标准依赖引入
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
</dependencies>
maven
的中央仓库https://mvnrepository.com
,检索网站https://search.maven.org
7.本地仓库和中央仓库
本地仓库存储在本地电脑上,中央仓库在apache
中存取。
maven
首先加载pom.xml
,在本地仓库查找jar
包,如果没有找到,会自动去中央仓库下载jar
包。
阿里巴巴的备份私服地址:maven.aliyun.com
在项目<version>
标签下面,配置私服的地址
<repositories>
<repository>
<id>aliyun</id>
<name>aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</repository>
</repositories>
配置完阿里云的私服后,如果在阿里云的私服上找不到依赖,才回去中央仓库下载
8.项目打包
1.pom.xml配置
1.Maven
可以将java
项目打包成为jar
、war
包
2.Maven
项目打包是通过Plugins
(插件)技术实现的
3.Maven
输出jar
包插件:maven-assembly-plugin
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.5.5</version>
<!--配置jar包的细节信息-->
<configuration>
<archive>
<mainfest>
<!--指定程序的入口类-->
<mainClass>com.wyz.maven.PinYinTestor</mainClass>
</mainfest>
</archive>
<!--打包使用的额外参数-->
<descriptorRefs>
<!--all in one ,在打包时会将所有引用的jar合并到输出的jar文件-->
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
2.IDE配置
配置Maven build
,Name
可以随便写,Goals: assembly:assembly
第一个assembly
为插件的名字,第二个assembly
为装配的命令
3.运行jar
通过在jar
包目录下打开终端命令输入 java -jar maven-first-1.0.0-RELEASE-jar-with-dependencies-jar
,运行jar
工程
9.构建web工程
前提是要配置好tomcat服务器
1.创建工程
创建标准maven
工程,输入Group Id和Artiface Id和Verssion,pacakging暂时选择jar
点击finish.
2.修改配置
1.如果jre
运行依赖版本不适合,可以修改jre
运行依赖版本
2.修改编译级别(编译器)
3.创建目录
1.在main
下创建webapp
文件夹
2.添加web
模块,同时选择运行环境apacher-tomcat
,不要着急点击apply
3.点击最下面配置项,指定Content directory
目录为src/main/webapp
目录,
10.web工程打包
1.xml配置
打包war
的插件,除了要配置这个插件的xml外,我们需要增加额外的
<!--packaging一般在项目version标签下配置-->
<!--对当前的应用来说,表示当前的输出格式,如果不写默认输出war-->
<packaging>war</packaging>
<build>
<!--自定义解压后的目录名(即工程名)-->
<finalName>maven-web</finalName>
<plugins>
<plugin>
<groupId>ore.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
</plugins>
</build>
2.IDE配置
配置maven build
,名称可以随便取例如,build-war
,base-dir
指定当前的maven
工程
Goals:package
, package
是maven
的打包命令
3.运行war
将war
文件放在tomcat->webapps
目录下即可,然后启动tomcat
就可以访问了。
工程名就是war包名,我们可以自己改war包名,但是不会作用于工程名
11.maven常用命令-创建工程
— | — |
---|---|
命令 | 用途 |
mvn archetype:generate | 创建maven工程结构 |
mvn compile | 编译源代码 |
mvn test | 执行测试用例 |
mvn clean | 清除产生的项目 |
mvn package | 项目打包 |
mvn install | 安装至本地仓库(把打包好的包安装到本地) |
12.maven常用命令-编译工程
mvn compile
就可以将java源代码编译成class
文件
可以通过test测试用例测试
mvn test
执行所有的测试用例并输出,maven
底层使用junit单元测试
mvn package
将当前的工程打包成jar包或war包
只有测试用例全部通过时,才会打包
mvn clean
清除target
目录,target
里存放的是class
字节码文件
mvn install
会自动编译测试执行,然后发布到本地仓库中。其它工程可以通过坐标使用我们自己的jar
包了。
13.修改本地仓库
1.在maven --> conf -->setting.xml
,中有<localRepository>
标签被注释掉了,我们取消注释。
2.然后将地址换成我们自己想要的本地仓库地址
<localRepository>d:\repository\maven</localRepository>
3.在user setttings中,指向maven --> conf -->setting.xm