Maven项目管理随记

本篇文章仅为Maven学习随记


一:
maven介绍与环境搭建:
maven是基于项目对象模型(POM),可以通过一小段描述信息来管理
项目的构建、报告和文档的软件项目管理工具。

下载好后:
①:bin目录下面包含mvn的运行脚本
②:boot目录包含了一个类加载器的框架
③:conf是配置文件的目录
④:lib是maven运行时所需要的类库,除了自身的还包含了maven运行时所依赖的第三方的类库。

二:
maven目录结构:
src
-main
-java
-package
-test
-java
-package
resources

maven中的pom.xml标签含义:
①:groupId的值就是项目的包名
②:artifactId的值就是模块名

三:
3.1:
maven常用命令:
mvn -v :查看maven版本
compile:编译
test:测试
package:打包

clean 删除target
install:安装jar包到本地仓库中。

3.2:
自动创建目录骨架:
archetype插件:用于创建符合maven规定的目录骨架
如:css样式文件 images图片
maven规定:
-src
-main
-java
-主代码
-src
-test
-测试代码

创建目录的两种方式
1:archetype:generate 按照提示进行选择
2:archetype:generate -DgroupId=组织名,公司网址的反写+项目名
-DartifactId=项目名-模块名
-Dversion=版本号
-Dpackage=项目所在的包

3.3:maven中的坐标和仓库:
坐标
构件
坐标:在maven世界中,任何一个依赖、插件、项目构件的输出都可以被称之为构件。
构件通过坐标作为唯一的标识。
如(地址、电话)

比如:

<dependency>
    <groupId>com.imooc.maven01</groupId>
    <artifactId>maven01-model</artifactId>
    <version>0.0.1SNAPSHOT</version>
</dependency>

就是一个坐标

建议:在创建maven项目时,java的包名应该与pom.xml中定义的groupId、artifactId相吻合
这样看起来更加清晰,符合逻辑,并且方便搜索。

仓库
本地仓库和远程仓库(中央全球仓库)
中央仓库地址:http://search.maven.org/
镜像仓库
更改仓库位置

3.4 在eclipse中安装maven插件以及创建maven项目

3.5 maven的生命周期和插件
命令:clean、compile、test、package、install
完整的项目构建过程包括:
清理、编译、测试、打包、集成测试、验证、部署。

maven生命周期:
clean 清理项目
pre-clean 执行清理前的工作
clean 清理上一次构建生成的所有文件
post-clean 执行清理后的文件

default 构建项目(最核心)
compile、test、package、install

site 生成项目站点
pre-site 在生成项目站点前要完成的工作
site 生成项目的站点文档
post-site 在生成项目站点后要完成的工作
site-deploy 发布生成的站点到服务器上。

3.6: 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">
    <!--指定了当前pom的版本-->
    <modelVersion>4.0.0</modelVersion>

    <groupId>反写的公司网址+项目名</groupId>
    <artifactId>项目名+模块名</artifactId>
    <!--第一个0表示大版本号
        第二个0表示分支版本号
        第三个0表示小版本号
        0.0.1
        snapshot快照
        alpha内部测试
        beta公测
        Release稳定
        GA正式发布
    -->
    <version></version>
    <!--默认是jar
        war zip pom
    -->
    <packaging></packaging>
    <!--项目描述名-->
    <name></name>
    <!--项目地址-->
    <url></url>
    <!--项目描述-->
    <description></description>
    <!--开发人员信息-->
    <developers></developers>
    <!--许可证信息-->
    <licenses></licenses>
    <!--组织人员信息-->
    <organization></organization>

    <dependencies>
        <dependency>
            <groupId></groupId>
            <artifactId></artifactId>
            <version></version>
            <type></type>
            <!--只在测试范围内有用-->
            <scope>test</scope>
            <!--设置依赖是否可选 true/false,默认为false,子项目默认是继承的。true,子项目必须默认显示的引入该依赖-->
            <optional></optional>
            <!--排除依赖传输列表-->
            <exclusions>
                <exclusion>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    <!-- 依赖的管理-->
    <dependencyManagement>
        <dependencies>
            <dependency></dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <!--插件列表-->
        <plugins>
            <plugin>
                <groupId></groupId>
                <artifactId></artifactId>
                <version></version>

            </plugin>
        </plugins>
    </build>
    <!--用于在子模块中对父模块pom的一个继承-->
    <parent></parent>
    <!--聚合运行多个的maven项目,原来是一个模块,现在可以多个模块进行编译-->
    <modules>
        <module> </module>
    </modules>
</project>

3.7 maven依赖范围
maven中三种classpath:
1:编译 2:测试 3:运行

例如:

<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>

表示junit用在测试的项目中,存在于测试的范围

依赖范围用来控制依赖与三种classpath的关系的。

Dependency Scope:
1:compile:默认范围,编译测试运行都有效
2:provided:在编译和测试时有效,在最后运行时无效。
3:Runtime:在测试和运行时有效。
4:test:只在测试范围有效。
5:system:与本机系统相关联,可移植性差。
6:import:导入的范围,它只使用在dependencyManagement中,表示从其他的pom中导入dependency的配置。

3.8:maven的依赖传递
见项目:hongxing-bge hongxing-nage hongxing-shanji

3.9:maven的依赖冲突
1:短路优先
A->B->C->X(jar)
A->D->X(jar)

2:先声明先优先
如果路径长度相同,则谁先声明,先解析谁

3.10:maven的聚合和继承

4.1 使用maven构建web项目

5.1 课程总结
1:maven下载和环境搭建:如何在windows下安装maven
2:maven目录骨架的说明:
①:主代码存放路径:
-src
-main
-java
主代码
②:测试代码存放路径:
-src
-test
测试代码
pom.xml用于管理项目依赖和构建过程

3:常用的maven命令
4:仓库和坐标
5:在eclipse安装和创建maven项目
6:生命周期、pom.xml以及依赖、聚合、继承
7:eclipse中创建web项目和jetty插件的安装。


致自己:仅仅了解maven相关知识概念,之后还需通过实践熟练maven的使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值