悠悠小仙仙 发表于 2019-6-19 16:55:21

[Maven]- Maven框架

- Maven框架
1. Maven是什么?
Apache Maven Project — Apache的优秀开源项目, 基于项目对象模型,可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

2. Maven能干什么?
用Maven可以方便的创建项目,基于archetype可以创建多种类型的java项目。
Maven仓库对jar包(artifact)进行统一管理,避免jar文件的重复拷贝和版本冲突。
团队开发,Maven管理项目的RELEASSE和SNAPSHOT版本,方便多模块的项目中,各个模块之间的快速集成。
3.Maven优势
约定优于配置
使用简单
测试支持
构建简单
插件丰富
4. Maven常见命令

mvn                   命令含义
-v                      查看Maven版本
compile            编译项目
test                   测试项目
package             打包项目
clean               删除target
install                将jar包安装到本地仓库
deploy               将本地jar包发布到remote

5. 创建第一个Maven框架
创建目录方式

archetype:generate 安装提示进行选择填写
archetype:generate -DgroupId = 组织名+公司网址反写+项目名
-DartifactId = 项目名+模块名 -Dversion = 版本 -Dpackage = 所在包名



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">
      <!-- 指定了Pom的版本-->
    <modelVersion>4.0.0</modelVersion>

    <groupId>项目名</groupId>
    <artifactId>模块名</artifactId>
<!--
      一般三个数字,如 1.0.0+
      SNAPSHOT(快照版)
      alpha(内测版)
      beta(公测版)
      Release(稳定版)
      GA(发布版)
    -->
    <version>版本号</version>
    <package>生成包</package>
    <name>项目描述名</name>
    <url>项目的地址</url>
    <description>项目描述</description>
    <developers>开发人员列表</developers>
    <lienses>许可证</lienses>
    <organization>组织</organization>

    <dependencies>
      <dependency>//依赖
          <!-- 坐标 -->
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <optional></optional> //设置依赖是否可选
            <exclusions></exclusions>//排除传递依赖列表
            <type></type>
            <scope></scope> // 默认complile使用场景
            <exclusions>//移除包,解决依赖冲突
      </dependency>
    </dependencies>

    <dependencyManagement></dependencyManagement>//依赖管理

<build>
    <plugins>//插件列表
      坐标
    </plugins>
</build>
<parent></parent>
<modules></modules> //指定多个模块编译
<properties></properties> //定义变量
</project>
6. Maven 生命周期
lifecycle -> phase -> goal
1. 生命周期包含多个阶段。
2. 每个阶段又包含多个插件目标。


Miss_love 发表于 2020-12-30 15:33:20

支持分享
页: [1]
查看完整版本: [Maven]- Maven框架