【体系-单体架构】01-项目管理工具Maven


01 Maven简介

简介:maven是一个项目管理和综合工具。其目的是使用标准的目录构建和默认构建生命周期,以支持大型项目的协同开发(maven项目都含有pom.xml文件,会从中央仓库自动下载所需依赖)


02 Maven安装配置

安装下载安装java>配置java环境变量>配置maven环境变量>验证mvn -version
配置本地仓库D:\Program Files\apache-maven-3.6.1\conf\settings.xml><localRepository>D:\workspace\RepMaven</localRepository>
配置中央仓库D:\Program Files\apache-maven-3.6.1\conf\settings.xml><mirrors> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> </mirrors>
注意:当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载。首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Maven 中央存储库 http://repo1.maven.org/maven2/ 查找下载。但由于源是国外会影响下载速度,一般设置成阿里的中央仓库提升速度


03 Maven POM

<!--pom.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/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.lusifer</groupId>
   <artifactId>project</artifactId>
   <version>1.0</version>
<project>
节点Value
项目组(groupId)项目组的编号,这在组织或项目中通常是独一无二的。 例如,一家银行集团 com.company.bank 拥有所有银行相关项目
名字(artifactId)项目的 ID,这通常是项目的名称。 例如,consumer-banking。 除了 groupId 之外,artifactId 还定义了 artifact 在存储库中的位置
版本(version)项目的版本,与 groupId 一起使用,artifact 在存储库中用于将版本彼此分离。 例如:com.company.bank:consumer-banking:1.0,com.company.bank:consumer-banking:1.1

拓展:语义化版本规范(version为x.y.z)

位置含义
x项目整体结构发生重大变化
y功能数目发生变化
z修复BUG,即BUG FIX

04 Maven插件

类型插件

类型描述
构建插件在生成过程中执行,并在 pom.xml 中的 元素进行配置
报告插件在网站生成期间执行,在 pom.xml 中的,元素进行配置

常见插件

插件描述
clean编译后的清理目标,删除目标目录
compiler编译 Java 源文件
surefile运行JUnit单元测试,创建测试报告
jar从当前项目构建 JAR 文件
war从当前项目构建 WAR 文件
javadoc产生用于该项目的 Javadoc
antrun从构建所述的任何阶段运行一组 Ant 任务

05 Maven快照

版本描述示例
SNAPSHOT(快照版)版本解释为时间,每次都会检查,用于团队内部开发data-service:1.0.0-SNAPSHOT
RELEASE(正式版)保持不变,用于对外依赖data-service:1.0.0-RELEASE

概要:快速迭代时自动更新


06 Maven常用命令

命令描述
mvn clean清除产生的项目
mvn compile编译源代码
mvn package打包
mvn -dmaven.test.skip=true只打包不测试(跳过测试)
mvn install安装到本地仓库
mvn source:jar或mvn source:jar-no-fork源码打包

07 创建Maven项目

idea开发maven项目
在这里插入图片描述
Java Web 的 Maven 基本结构

├─src
│  ├─main
│  │  ├─java
│  │  ├─resources
│  │  └─webapp
│  │      └─WEB-INF
│  └─test
│      └─java

src:源码目录
	src/main/java:Java 源码目录
	src/main/resources:资源文件目录
	src/main/webapp:Web 相关目录
	src/test:单元测试

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.funtl</groupId>
    <artifactId>hello-maven</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <!--packaging:打包方式,这里是 war 包,表示为 Java Web 应用程序-->
    <packaging>war</packaging>

    <!--dependencies:项目依赖配置,整个项目生命周期中所需的依赖都在这里配置-->
    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>log4j-over-slf4j</artifactId>
            <version>1.7.25</version>
        </dependency>
    </dependencies>
</project>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值