Maven的使用(idea2019.1)

Maven的简单使用

Maven的百度百科:

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。

变化创建项目和导jar包的方法,变成企业的方法,

maven 项目构建和项目管理

现存在的问题是:没有对jar包进行统一管理,个人与团体之间的jar包没有统一,容易出现不兼容的问题。

使用maven后将会解决和实现:对jar包的统一管理,通过maven仓库来管理,由本地仓库管理所有的jar包,同时对版本进行管理

在这里我使用的是idea2019.1来创建maven项目

创建maven项目

在这里插入图片描述

点击不同的选项,就会创建不同的项目
在这里插入图片描述

上述的三个参数就是著名的 GAV 座标,

<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>

在这里插入图片描述

当第一次创建maven项目的时候我发现上图的setting.xml是没有这个文件的,在项目创建完成后并且自动导jar包才会出现,这是我们就可以打开这个setting.xml这个文件对里面的内容进行个性化修改

这个在互联网上可以轻松找到,我在这里使用的是阿里云的镜像,因为,感觉阿里云在国内,下载的时候比较快

我修改为了D:/MavenStore/repository====这样不占C盘空间

<localRepository>D:/MavenStore/repository</localRepository>

在D:/MavenStore/repository目录下就可以发现很多jar包

在这里插入图片描述

这里使用的是阿里云的镜像

 <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>*</mirrorOf>
        <name>阿里云公共仓库</name>
        <url>https://maven.aliyun.com/repository/public</url>
    </mirror>

项目和仓库作关联=======setting.xml配置文件关联,
在这里插入图片描述

点击完成后就创建好了一个普通的maven项目

web的maven项目也是一样的,同理可得

maven的生命周期

在这里插入图片描述

简要点就是,

compile 编译

clean 清理

test 测试------测试是单独打包的

install 安装------打包并部署导本地仓库,会生成jar包

ps:当创建的是一个maven web的项目的时候会打包成war包

POM座标–使用maven不需要导入jar包,只需要copy pom座标

座标的组成就是GAV座标

实例如下

<dependency>    
    <groupId>org.springframework</groupId>    
    <artifactId>spring-context</artifactId>    <version>4.3.13.RELEASE</version>
</dependency>
<dependency>  
    <groupId>org.springframework</groupId>  
    <artifactId>spring-core</artifactId>    
    <version>4.3.25.RELEASE</version>
</dependency>
<dependency>  
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.12</version>
</dependency>

scope:用来控制依赖和编译,测试,运行得classpath的关系

complie:默认编译的依赖范围对于编译测试运行均有效

test:测试的依赖范围,只对测试clsspath有效

provided:对于编译,测试的classpath都有效,但对于运行无效

多模块开发

方式一

创建空白项目选择empty project,类似eclipse创建多项目的方式,(不存在父工程)

I创建空工程

II创建模块项目

III调用各模块之间的能力

方式二

父子工程(聚合工程)

1.选择站点模式(见图一)

2.删除src,使其称为父项目,让父项目管理子项目的jar包

3,建立子项目{new module{

quickstart普通项目

webappweb项目}

}

4.模块之间的调用{将开发的模块打包成jar包,放入仓库提供给其他的团队使用}

1.选择站点模式(见图一)

2.删除src,使其称为父项目,让父项目管理子项目的jar包

3,建立子项目{new module{

quickstart普通项目

webappweb项目}

}

4.模块之间的调用{将开发的模块打包成jar包,放入仓库提供给其他的团队使用}

发布了17 篇原创文章 · 获赞 8 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章