maven的基础知识

Maven:构建软件项目的工具
——–编绎,测试,打包,部署,运行

Maven给JAVA带来的变化:
快速创建项目
管理jar包
运行测试用例
打包部署

Maven安装:
Apache.org下下载
配置环境变量:M2_HOME,MAVEN_HOME,path
验证:mvn –version
Maven的运行机制——-生命周期
这里写图片描述

Maven的运行机制——插件
插件是Maven的核心
所有的功能均由插件提供
每个插件有多个goal,即目标
目标是插件功能的细分,例maven-clean-plugin插件有三个goal,分别是pre_clean,clean,post_clean

Maven主要内置插件
maven-clean-plugin 清理构建目录
maven-compiler-plugin 编绎
maven-surefire-plugin 测试
maven-resources-plugin 资源文件
maven-help-plugin 获取插件信息
maven-assembly-plugin 项目打包

Maven仓库

从仓库下载依赖包
本地—–私服—–远程

Maven的坐标
groupId: 项目名称,一般格式为:域名倒置+项目名 com.mm.eshop
artifactId: 项目模块的名称 order
version: 项目的版本号

<groupId>org.spring.framework</groupId>
<artifactId>spring-core</artifactId>
<version>3.2.11.RELEASE</version>

自动生成项目骨架:
作用插件:maven-archetype-plugin
位置:
中央仓库:
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/
(可解压lib下的maven-model-builder从其中的pom-4.00.xml找到中央仓库的地址https://repo.maven.apache.org/maven2)
本地:
未设置setting.xml: C:\Users\Administrator.m2\repository\org\apache\maven\maven-artifact
设置setting.xml:支设置的仓库内找寻
使用

1.  查寻插件目标
mvn help:describe –Dplugin=archetype
mvn archetype:help –Ddetail=true  -Dgoal=generate(查看具体目标的使用方法)
2.  使用
远程:mvn archetype:generate –DarchetypeCatalog
本地:mvn archetype:generate –DarchetypeCatalog=local
内置:mvn archetype:generate –DarchetypeCatalog=internal
(注:-DrchetypeArtifactId默认先7:maven-archetype-quickstart 创建JAVA项目
   先10:maven-archetype-webapp 创建WEB项目)

将项目导入IDE————使用插件
Eclipse:将项目导入eclipse,eclipse会识别根目录下是否有.classpath,.project文件,没有会报错

1.使用插件为项目添加.classpath,.project文件
    作用mvn help:describe –Dplugin=eclipse查看插件的目标
    mvn eclipse:clean  删除根目录下的.classpath,.project文件
    mvn eclipse:eclipse 在根目录下添加.classpath,.project文件,下载配置的JAR
    (注:mvn eclipse:eclipse                   -----------eclipse jave project(JAR)
        mvn eclipse:eclipse –Dwtpversion=2.0  ----------eclipse:java web project(WAR))
2.将项目导入eclipse,在eclipse中添加变量
在JavaBuildPath下的Libravies中有name:M2_REPOpath:本地仓库的地址
    Idea:它会识别根目录下是否有.ipr,.iml,.iws文件
        mvn idea:clean
        mvn idea:idea 

插件命令与生命周期命令的区别(以编绎和测试为例)
1.用插件来运行测试用例

maven-compiler-plugin 编绎
mvn help:describe –Dplugin=compile 查看其目标,主要有两个
mvn compiler:compile       ------------编绎源文件(放在target中)

mvn compiler:testCompile   -----------编绎测试文件(放在target中)
注:可用mvn clean清除文件

mavne-surefire-plugin  测试
mvn help:describe –Dplugin=surefir e查看其目标,有一个
mvn surefire:test                               ------------运行测试用例
mvn surefire:test  -Dtest=className#methodName  ------------运行某一个测试用例

2.用生命周期命令来运行测试用例

mvn test

综上:mvn compile= mvn compiler:compile+ mvn compiler:testCompile
生命周期阶段命令是插件命令的有序集合

Maven打包————mvn package(这个后续再补充)

推荐网站:
http://mvnrepository.com/ ———可查寻插件的版本,在pom.xml中引用代码
http://maven.apache.org/ ———可下载maven,查寻一些插件的详细参数使用

猜你喜欢

转载自blog.csdn.net/qq_39172525/article/details/78812356