Maven是一个基于项目对象模型(POM)的概念的纯java开发的开源的项目管理工具。主要用来管理java项目,进行依赖管理(jar包管理,能自动分析项目所需的依赖软件包,并到Maven仓库区下载)和项目构建(项目打包和部署)。此外还能分块开发,提高开发效率。 本文将从以下三个方面写起: 1、Maven的作用 2、Maven的安装配置 3、IDEA配置Maven 1、Maven的作用,为什么要使用Maven (1)创建项目,自动关联和下载依赖的jar包。 (2)升级框架的版本。升级某个框架的版本,但却不知道与它相关联的哪几个jar也需要跟着升级,和升级到哪个版本。 (3)自动部署。用Maven只需一个命令,就可以把项目自动部署到远程服务器上。 (4)项目编译打包导出。这个随意一个IDE都能做到,所以如果要Maven做这件事,可能的场景,就是做没有装IDE的环境里,比如在服务器端Linux环境下。 2、Maven的安装配置 1、下载maven 的地址:http://maven./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./maven2/ 一般用这个查POM:http:/// 检索顺序:先检索本地仓库--再检索远程仓库--最后检索中央仓库 Maven管理项目周期 1. Clean:项目构建前的清理操作 2. Default: 核心生命周期核心过程:编译,运行,打包等等 3. Site:发布站点,生成报告等等, 3、IDEA配置Maven IDEA内部集成了Maven,也可以配置成自己安装的Maven File ----> Settings ----> 找到Maven,配置Maven home directory 创建Maven项目 File ----> New ----> Project ----> Maven 勾选Create from archetype 选择maven-archetype-webapp 点击Next 输入GroupId、ArtifactId点击Next 选择Maven的版本 输入项目名称和目录,点击Finish 创建项目后,点击Import Changes按钮,会下载需要的jar包和插件 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:/// 示例: <dependencies> <!-- https:///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不会检索 |
|