我是如何理解并使用maven的
前言
一直想写一篇关于Maven的文章,但是不知如何下笔,如果说能使用,会使用Maven的话,一、两个小时足矣,不需要搞懂各种概念。那么给大家来分享下我是如何理解并使用maven的。
什么是Maven?
Maven是一个用于项目构建的工具,通过它便捷的管理项目的生命周期。即项目的jar包依赖,开发,测试,发布打包,主要管理工作是:依赖管理,项目一键构建。
为什么要使用Maven
使用maven构建的项目,整个项目的体积小
maven项目不需要手动导入jar包,通过在pom.xml中添加依赖,引用依赖会自动从maven仓库下载jar包,方便快捷。
项目一键构建:使用maven可以快速地对项目进行编译–测试–运行–打包–安装
maven支持跨平台操作,可在window、linux、mac上使用
maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本,属于主流技术,一般公司都会使用maven来构建项目
maven仓库的配置
ps:下载项目引用需要jar包的时候存放的本地路径
仓库的分类
本地仓库
私服(公司的仓库)
*仓库
三个仓库之间的关系
三者之间的关系是,当我们在项目中依赖一个jar包时,Maven程序会先去本地仓库中找,如果没找到就回去私服找,如果还是没有,最后就回去*仓库找。其过程如下图:
前言
一直想写一篇关于Maven的文章,但是不知如何下笔,如果说能使用,会使用Maven的话,一、两个小时足矣,不需要搞懂各种概念。那么给大家来分享下我是如何理解并使用maven的。
什么是Maven?
Maven是一个用于项目构建的工具,通过它便捷的管理项目的生命周期。即项目的jar包依赖,开发,测试,发布打包,主要管理工作是:依赖管理,项目一键构建。
为什么要使用Maven
使用maven构建的项目,整个项目的体积小
maven项目不需要手动导入jar包,通过在pom.xml中添加依赖,引用依赖会自动从maven仓库下载jar包,方便快捷。
项目一键构建:使用maven可以快速地对项目进行编译–测试–运行–打包–安装
maven支持跨平台操作,可在window、linux、mac上使用
maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本,属于主流技术,一般公司都会使用maven来构建项目
maven仓库的配置
ps:下载项目引用需要jar包的时候存放的本地路径
仓库的分类
本地仓库
私服(公司的仓库)
*仓库
三个仓库之间的关系
三者之间的关系是,当我们在项目中依赖一个jar包时,Maven程序会先去本地仓库中找,如果没找到就回去私服找,如果还是没有,最后就回去*仓库找。其过程如下图:
前言
一直想写一篇关于Maven的文章,但是不知如何下笔,如果说能使用,会使用Maven的话,一、两个小时足矣,不需要搞懂各种概念。那么给大家来分享下我是如何理解并使用maven的。
什么是Maven?
Maven是一个用于项目构建的工具,通过它便捷的管理项目的生命周期。即项目的jar包依赖,开发,测试,发布打包,主要管理工作是:依赖管理,项目一键构建。
为什么要使用Maven
使用maven构建的项目,整个项目的体积小
maven项目不需要手动导入jar包,通过在pom.xml中添加依赖,引用依赖会自动从maven仓库下载jar包,方便快捷。
项目一键构建:使用maven可以快速地对项目进行编译–测试–运行–打包–安装
maven支持跨平台操作,可在window、linux、mac上使用
maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本,属于主流技术,一般公司都会使用maven来构建项目
maven仓库的配置
ps:下载项目引用需要jar包的时候存放的本地路径
仓库的分类
本地仓库
私服(公司的仓库)
*仓库
三个仓库之间的关系
三者之间的关系是,当我们在项目中依赖一个jar包时,Maven程序会先去本地仓库中找,如果没找到就回去私服找,如果还是没有,最后就回去*仓库找。其过程如下图:
前言
一直想写一篇关于Maven的文章,但是不知如何下笔,如果说能使用,会使用Maven的话,一、两个小时足矣,不需要搞懂各种概念。那么给大家来分享下我是如何理解并使用maven的。
什么是Maven?
Maven是一个用于项目构建的工具,通过它便捷的管理项目的生命周期。即项目的jar包依赖,开发,测试,发布打包,主要管理工作是:依赖管理,项目一键构建。
为什么要使用Maven
使用maven构建的项目,整个项目的体积小
maven项目不需要手动导入jar包,通过在pom.xml中添加依赖,引用依赖会自动从maven仓库下载jar包,方便快捷。
项目一键构建:使用maven可以快速地对项目进行编译–测试–运行–打包–安装
maven支持跨平台操作,可在window、linux、mac上使用
maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本,属于主流技术,一般公司都会使用maven来构建项目
maven仓库的配置
ps:下载项目引用需要jar包的时候存放的本地路径
仓库的分类
本地仓库
私服(公司的仓库)
*仓库
三个仓库之间的关系
三者之间的关系是,当我们在项目中依赖一个jar包时,Maven程序会先去本地仓库中找,如果没找到就回去私服找,如果还是没有,最后就回去*仓库找。其过程如下图:
本地仓库的配置
找到已安装的maven路径,如:apache-maven-3.3.9\conf 目录下settings.xml 文件并用notepad++打开,ctrl+F找到localRepository标签,将路径设置为D:/repository,如下图:
说明:什么是本地仓库? 就是是由个人将常用到的jar包放入一个仓库中,已备自己在项目中使用,可从别人配置好的jar包仓库拷到自己本地目录,因为仓库一般很大,首次下载需要很长一段时间。
配置私服地址
实际工作中,很多项目都会用到maven私服仓库,一般公司都有统一的maven私服仓库,由于公司都是统一化管理,这时候我们就要配置统一的私服仓库,举例如下:
<mirrors>
<mirror>
<!--This is used to direct the public snapshots repo in the
profile below over to a different nexus group -->
<id>nexus-public-snapshots</id>
<mirrorOf>public-snapshots</mirrorOf>
<url>http://192.168.1.118:8888/nexus/content/repositories/apache-snapshots/</url>
</mirror>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors>
pom文件说明
pom.xml文件,一般描述了maven项目的基本信息,比如groupId,artifactId,version等,一个最简单的pom.xml文件至少需要包含四个元素:modelVersion, groupId, artiffactId和version。
比如一个基本的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.test</groupId> //当前项目的信息
<artifactId>maven-demo</artifactId>
<version>1.0-SNAPSHOT</version>//SNAPSHOT(快照)表示该项目还在开发中。
</project>
其中主要的标签含义如下:
project:pom.xml 文件中的顶层元素;
modelVersion:指明 POM 使用的对象模型的版本。这个值很少改动。
groupId:指明创建项目的组织或者小组的唯一标识。
GroupId 是项目的关键标识,典型的,此标识以组织的完全限定名来定义。比如,org.apache.maven.plugins 是所有 Maven 插件项目指定的 groupId。
artifactId:指明此项目产生的主要产品的基本名称。项目的主要产品通常为一个 JAR 文件。第二,象源代码包通常使用 artifactId 作为最后名称的一部分。典型的产品名称使用这个格式:
version:项目产品的版本号。Maven 帮助你管理版本,可以经常看到 SNAPSHOT 这个版本,表明项目处于开发阶段。
在项目中添加插件,以及对插件的配置
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>//编译插件
<version>2.4.3</version>//插件的版本号
<configuration>//对插件进行配置
<source>1.7</source>//源代码编译版本
<target>1.7</target>//目标平台编译版本;
<encoding>UTF-8</encoding>//设置插件或资源文件的编码方式。
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>//执行测试用例的插件
<version>2.17</version>//插件的版本号
<configuration>//对插件进行配置
<suiteXmlFiles>
<suiteXmlFile>${suiteXmlFile}</suiteXmlFile>//测试套件执行路径
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
总结
到此,关于maven的入门基础知识总结完毕,文章知识点相对繁琐、复杂,还请读者多次阅读和实践,如有错误之处,烦请多指正!
上一篇: Maven下载安装配置
下一篇: 并发编程篇-CAS技术
推荐阅读
-
我是如何使用laydate日历插件更换掉老项目不好用的日历插件datepicker的
-
如何使用下载的maven并配置本地仓库
-
python是如何定义并使用变量的?
-
使用maven创建java项目是,jdk的版本默认为1.5,如何修改为1.8
-
JavaSE的基础语法———理解java是如何使用的
-
我是如何理解Spring Bean的作用域
-
关于Maven,我是如何理解并使用的
-
我是如何使用freemarker生成Word文件的?
-
这次来说说maven这玩意,我在工作中是这样使用Maven的
-
我是怎么发现并解决项目页面渲染效率问题的(IE调试工具探查器的使用)_html/css_WEB-ITnose