千锋教育-做有情怀、有良心、有品质的IT职业教育机构

400-811-9990
当前位置:首页  >  关于学院  >  技术论坛  >  正文

Java技术学习笔记(九):Maven安装和作用

时间:2018-10-31 14:38     来源:千锋教育 作者:千锋老师
分享: 更多

  Maven是一个基于项目对象模型(POM)的概念的纯java开发的开源的项目管理工具。主要用来管理java项目,进行依赖管理(jar包管理,能自动分析项目所需的依赖软件包,并到Maven仓库区下载)和项目构建(项目打包和部署)。此外还能分块开发,提高开发效率。

  本文将从以下三个方面写起:

  1、Maven的作用

  2、Maven的安装配置

  3、IDEA配置Maven

QQ截图20181031143508

  1、Maven的作用,为什么要使用Maven

  (1)创建项目,自动关联和下载依赖的jar包。

  (2)升级框架的版本。升级某个框架的版本,但却不知道与它相关联的哪几个jar也需要跟着升级,和升级到哪个版本。

  (3)自动部署。用Maven只需一个命令,就可以把项目自动部署到远程服务器上。

  (4)项目编译打包导出。这个随意一个IDE都能做到,所以如果要Maven做这件事,可能的场景,就是做没有装IDE的环境里,比如在服务器端Linux环境下。

  2、Maven的安装配置

  1、下载maven 的地址:http://maven.apache.org/download.cgi

  2、解压,然后再“我的电脑”--右键--“属性”--“高级系统设置”--“环境变量”中添加如下信息:

  a、新增变量MAVEN_HOME的值为Maven的安装文件夹

  b、在PATH变量中添加:%MAVEN_HOME%\bin

  3、验证配置是否成功,打开cmd,输入:mvn -version

  Maven配置文件(settings.xml)具体说明

  1.localRepository:设置本地仓库:

  <localRepository>C:\software\repository</localRepository>

  2.pluginGroups:插件组合

  3.proxies:代理

  4.servers服务器(其中username和password是私服的用户名和密码,后续配置私服说明)

  <server>

  <id>user-releases</id>

  <username>admin</username>

  <password>123456</password>

  </server>

  <server>

  <id>user-snapshots</id>

  <username>admin</username>

  <password>wangwujuan</password>

  </server>

  5.mirrors:镜像路径

  <!-- 阿里镜像 -->

  <mirror>

  <id>alimaven</id>

  <name>aliyun maven</name>

  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

  <mirrorOf>central</mirrorOf>

  </mirror>

  6.profiles:服务器配置

  <!--服务器的配置-->

  <profile>

  <id>nexusProfile</id>

  <repositories>

  <repository>

  <id>nexus</id>

  <name>nexus</name>

  <url>http://localhost:8081/nexus/content/groups/public/</url>

  <releases>

  <enabled>true</enabled>

  </releases>

  <snapshots>

  <enabled>true</enabled>

  </snapshots>

  </repository>

  </repositories>

  <pluginRepositories>

  <!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 -->

  <pluginRepository>

  <!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 -->

  <id>public</id>

  <name>Public Repositories</name>

  <url>http://localhost:8081/nexus/content/groups/public/</url>

  </pluginRepository>

  </pluginRepositories>

  </profile>

  <!-- java编译插件,配jdk的编译版本-->

  <profile>

  <id>jdk-1.8</id>

  <activation>

  <activeByDefault>true</activeByDefault>

  <jdk>1.8</jdk>

  </activation>

  <properties>

  <maven.compiler.source>1.8</maven.compiler.source>

  <maven.compiler.target>1.8</maven.compiler.target>

  <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>

  </properties>

  </profile>

  7.activeProfiles:激活私服

  <activeProfiles>

  <activeProfile>nexusProfile</activeProfile>

  </activeProfiles>

  Maven仓库说明

  存储jar的仓库(3种仓库)

  1.本地仓库:存储在本地磁盘,默认在系统盘c盘 用户名/.m2/xx

  通过settings.xml 更改本地仓库localRepository

  2.远程仓库:一般都使用国内镜像或者公司自己搭建私服. 一般用Nexus

  目的:加快下载速度

  3.Maven(中央)仓库:Maven团队维护的jar包仓库 http://repo1.maven.org/maven2/

  一般用这个查POM:http://mvnrepository.com/

  检索顺序:先检索本地仓库--再检索远程仓库--最后检索中央仓库

  Maven管理项目周期

  1. Clean:项目构建前的清理操作

  2. Default: 核心生命周期核心过程:编译,运行,打包等等

  3. Site:发布站点,生成报告等等,

  3、IDEA配置Maven

  IDEA内部集成了Maven,也可以配置成自己安装的Maven

  File ----> Settings ----> 找到Maven,配置Maven home directory

图片2

  创建Maven项目

  File ----> New ----> Project ----> Maven

  勾选Create from archetype

  选择maven-archetype-webapp

  点击Next

图片3

  输入GroupId、ArtifactId点击Next

图片4

  选择Maven的版本

图片5

  输入项目名称和目录,点击Finish

图片6

  创建项目后,点击Import Changes按钮,会下载需要的jar包和插件

图片7

  Maven项目说明

  src/main/java:存放项目的.java文件

  src/main/resources:存放项目资源文件。如何Spring,Hibernate配置文件

  src/test/java:存放所有测试的.java文件.如Junit测试类

  pom.xml(maven项目核心配置文件)

  pom.xml默认内容介绍:

  <!-- maven中model的版本号 -->

  <modelVersion>4.0.0</modelVersion>

  <!-- 公司名称或组织名称或者个人名称 -->

  <groupId>com.sky</groupId>

  <!--项目名称 -->

  <artifactId>FirstMaven</artifactId>

  <!-- 版本号 -->

  <version>1.0</version>

  <!-- 打包方式 :项目类型

  POM:MAVEN项目,常用在继承和聚合上

  JAR:JAVASE项目,没有网页,跟服务器没关系

  WAR:JAVAEE项目,跟服务器没关系-->

  <packaging>war</packaging>

  Maven工程添加依赖

  推荐网站:http://mvnrepository.com/

  示例:

  <dependencies>

  <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->

  <dependency>

  <groupId>org.hibernate</groupId>

  <artifactId>hibernate-core</artifactId>

  <version>5.2.10.Final</version>

  </dependency>

  </dependencies>

  添加到项目的pom文件内容说明(切换pom.xml到Dependencies目录下):

  type:类型

  取值说明:

  jar:jar包

  Scope:声明jar包的存活时间

  取值说明:

  1、provided:编译和测试时需要

  2、compile:编译、测试、运行、打包需要

  3、runtime:测试、运行、打包需要

  4、test:测试

  5、system:编译和测试时需要,显示引用,Maven不会检索

相关文章

  • 北京天丰利校区(总部)地址:北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术学院广场服务楼2、3层
    咨询电话:400-811-9990
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 深圳西部硅谷校区地址:深圳市宝安区宝安大道5010号深圳西部硅谷B座A区605-619
    深圳大学城校区地址:深圳市南山区留仙大道1201号大学城创客小镇16栋3楼
    咨询电话: 0755-23015275/23015546-801(硅谷) 0755-86660670-801(大学城)
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 上海校区地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-811-9990 021-65233829-609
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 郑州校区地址:郑州市二七区航海中路60号海为科技园C区10层、12层
    咨询电话:0371-55191750
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 广州校区地址:广州市天河区元岗路200号慧通产业园B9三层
    咨询电话:020-38035223 020-38035220
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 大连校区地址:辽宁省大连市高新园区爱贤街10号大连设计城A座901
    咨询电话:400-811-9990
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 武汉金融港校区地址:武汉市东湖高新技术开发区光谷大道77号金融港B18栋3楼
    武汉智慧园校区地址:武汉市东湖高新技术开发区光谷大道61号智慧园21栋2楼
    咨询电话:027-59313371
    面授课程:HTML5大前端培训、全链路UI/UE设计培训、PHP全栈+服务器集群培训、JavaEE+分布式开发培训、大数据+人工智能培训、 Unity游戏开发培训、360网络安全、Python培训、云计算+信息安全培训、全栈软件测试培训、智能物联网+嵌入式培训
  • 成都校区地址:成都市武侯区科华北路62号力宝大厦N(北楼)18楼
    咨询电话:400-811-9990 028-83178771
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 西安校区地址:西安市雁塔区高新六路52号立人科技C座西区4楼
    咨询电话:029-85363390
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 杭州旺田校区:浙江省杭州市江干区九堡旺田书画城A座4层
    杭州龙驰校区:浙江省杭州市下沙经济技术开发区元成路199号龙驰智慧谷B座7层
    咨询电话:400-811-9990 0571-86893632/0571-86094032
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 青岛校区地址:青岛市市北区龙城路卓越世纪中心3号楼8层801
    咨询电话:0532-80911190
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 重庆校区地址:重庆市高新区科园一路2号大西洋国际12-1
    咨询电话:400-811-9990 023-68883009
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 长沙校区地址:湖南省长沙市岳麓区麓谷企业广场A2栋三单元306号
    咨询电话:0731-85513210
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 哈尔滨校区地址:哈尔滨市松北区创新一路699号 科技创新城19号楼B座五楼
    咨询电话:400-811-9990/0451-87173191
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 南京校区地址:南京市建邺区应天大街780号应天智汇产业园弘辉园1幢2楼
    咨询电话:400-811-9990
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 千锋教育服务号

    了解千锋动态
    关注千锋教育服务号

  • 千锋教育移动站

    扫一扫快速进入
    千锋移动端页面

  • 千锋互联服务号

    扫码匿名提建议
    直达CEO信箱