Maven使用说明
maven的作用.
Maven 是一个项目管理和构建自动化工具。可以方便我们导入jar包。
maven的安装.
- 要想安装maven,首先你需要安装jdk,并且配置jdk环境变量。右键点击计算机,选择属性。

- 下载maven压缩包,并且解压。网址*maven
- 配置maven的环境变量。在环境变量中,添加 MAVEN_HOME=”你解压的maven的所在位置”(比如:E:\maven\apache-maven-3.3.3).在环境变量path中,后面添加 %MAVEN_HOME%\bin;.

- 测试是否安装成功。进入cmd中,执行mvn –v;如果输出maven的信息,那么则安装成功。如图:

eclipse中配置maven
- 打开eclipse软件,如果没有。选择工具栏中->help->install new softwore->输入网址:*eclipse中加入maven。将maven插件安装到eclipse中。如果有,略过这一步。
- 选择工具栏->windows->preferences->找到maven的目录。打开Installations,添加自己本地安装的maven目录。

- 选择工具栏->windows->preferences->找到maven的目录。打开User Setting,添加自己本地安装的maven目录。

- 找到安装的maven目录下的conf下的setting.xml,可以修改本地仓库jar包存储位置。找到localRepository标签,可以选择本地仓库位置。例如:
<localRepository>E:/maven/apache-maven-3.3.3/repository</localRepository>
- 将setting.xml拷贝到自己本地仓库目录下(未修改本地仓库时,是.m2下的repository)修改了本地仓库,就去修改的目录下。修改其中mirror标签内容.
<mirror>
<id>public</id>
<name>Public Repositories</name>
<url>http://192.169.0.205:8081/nexus/content/groups/public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
-
- Mirror标签中:id, name是该镜像的唯一定义符。id用来区分不同的mirror元素。
- url是该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。
- mirrorOf是被镜像的服务器的id。例如,如果我们要设置了一个Maven中央仓库*maven中央仓库的镜像,就需要将该元素设置成central。这必须和中央仓库的id central完全一致。本例中,我们使用了公司的maven仓库。所以mirrorOf标签和我们公司的仓库id相同。
eclipse中导入和创建maven项目
导入maven项目
- 在目录空间中,右键点击import->maven->Existing Maven Project.选择上自己要导入的maven项目。

- 打开pom.xml,里面是maven的xml文件。
新建maven项目
- 在eclipse工具栏中找到file->new->others->maven->maven project点击。
- 选择Use default Workspace location 点击下一步。
- 选择Artifact Id 最后为web-app的,点击下一步。这样我们就建立了一个maven的web项目。

- 填上自己想要建立项目的独立标识group id和artifact id.完成。
解析pom.xml
<modelVersion>4.0.0</modelVersion>
声明项目描述符遵循哪一个POM模型版本。模型本身的版本很少改变,虽然如此,但它仍然是必不可少的,这是为了当Maven引入了新的特性或者其他模型变更的时候,确保稳定性。
<groupId>com.3h</groupId>
项目的全球唯一标识符,通常使用全限定的包名区分该项目和其他项目。并且构建时生成的路径也是由此生成, 如com.3h生成的相对路径为:/com/3h.
<artifactId>fund</artifactId>
构件的标识符,它和group ID一起唯一标识一个构件。换句话说,你不能有两个不同的项目拥有同样的artifact ID和groupID;在某个特定的group ID下,artifact ID也必须是唯一的。构件是项目产生的或使用的一个东西,Maven为项目产生的构件包括:JARs,源码,二进制发布和WARs等.
<packaging>war</packaging>
项目产生的构件类型,例如jar、war、ear、pom。插件可以创建他们自己的构件类型,所以前面列的不是全部构件类型.
在pom.xml中配置仓库的位置
<repositories>
<repository>
<id>public</id>
<name>Public Repositories</name>
<url>http://192.169.0.205:8081/nexus/content/groups/public/</url>
</repository>
</repositories>
- 作用:由于不同的项目,可能需要不同的仓库位置,所以在pom.xml中配置仓库。
maven中如何加载jar包的依赖
<dependencies>
<!-- Spring framework 4.2.3 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.3.RELEASE</version>
</dependency>
</dependencies>
- 上例中,我们使用了Spring framework 4.2.3的jar包,那么我们只需要拿到这个jar包在仓库中存储的标示(groupId,artifactId),以及版本(version).他会首先从我们配置的仓库位置寻找这些jar包,如果没有,则会从maven的中央仓库中寻找这些jar包,进行加载,并且一些相关依赖的jar包,也会加载。
项目中用到的一些插件
<plugins>
<plugin><!-- 编译说明 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration> <!--作为DOM对象的配置-->
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
这里就是告诉我们的代码使用的是什么jdk版本。
<plugin>复制文件
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<phase>compile</phase> 绑定了目标的构建生命周期阶段,如果省略,目标会被绑定到源数据里配置的默认阶段
<goals> 配置的执行目标
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<resources>
<resource>
<directory>src/main/resources/{dev}</directory>
</resource>
</resources>
<overwrite>true</overwrite>
</configuration>
</execution>
</executions>
</plugin>
这是拷贝配置信息的一段xml,由于我们有三个环境,所以为了便捷可以直接使用插件,进行拷贝一些配置信息。
<plugin>打包声明
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<warName>3hfund</warName>
<failOnMissingWebXml>false</failOnMissingWebXml>
<webResources>
<resource>
<directory>${basedir}/src/main/webapp</directory>
<filtering>true</filtering>
<includes>
<include>WEB-INF/web.xml</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
使用了maven-war-plugin插件进行打包。
<profile> 可以通过 -P ID 来激活
<id>PUB</id> ID 标识符
<properties>
<env>pub</env> properties 定义 key-value, 这里 key 是 env, value 是 PROD
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
定义了打包过程中使用的配置文件,打包使用 mvn package –P PUB则打包配置文件是pub的war包。
Pom.xml详细解析:请看*pom.xml详解Profile详解:*profile详解
maven中常用命令
- 当我们修改了pom.xml中的内容时,我们要更新一下项目。右键项目名,找到maven,选择update project.
- mvn package –P PUB 使用pub下面的配置文件进行打包
- mvn compile //编译源代码
- mvn test-compile//编译测试代码
- mvn test //运行应用程序中的单元测试
- mvn site //生成项目相关信息的网站
- mvn clean //清除目标目录中的生成结果
- 在eclipse下如何使用maven命令
-
- run as->run configurations->选择 maven build->点击新增,选择好启动的项目,输入maven命令。不需要mvn。

Maven使用说明的更多相关文章
- 常用工具说明--Maven使用说明
什么是Maven? 如今我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包.一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综 ...
- SonarScanner扫描Maven项目使用说明
最近在学习使用sonar扫描代码,已经成功扫描python项目,而扫描java代码不成功. 在网上找到的扫描java项目文章,经过尝试之后也没有成功. 本人自己研究了sonar官方的使用说明文章,将其 ...
- 【IDEA】Maven踩坑:pom文件中的默认profiles不生效+IDEA中Maven的profiles使用说明
一.问题即分析 项目pom文件中的profiles有3个配置:dev.test和production 默认配置的是dev,如下图: 但在本地起服务时,读取的配置始终是test里的. 二.原因 2.1 ...
- maven安装,使用说明,及maven Repository如何使用.
maven的使用方法总结一下 1.首先去apache官网下载maven, http://maven.apache.org/download.cgi2.如果是windows系统,选择 apache-ma ...
- Maven的下载,配置环境,导入编译器,使用说明一条龙
什么是Maven?可以认为Maven是写程序时导入jar包的一个轻便的工具. 第一步Maven下载 1.Maven(点击进入),点击一个zip包下载 2.解压maven包,复制maven ...
- maven
maven常见问题问答 1.前言 Maven,发音是[`meivin],"专家"的意思.它是一个很好的项目管理工具,很早就进入了我的必备工具行列,但是这次为了把project1项目 ...
- 使用国内 maven 镜像 代替国外 mirror
使用maven的都知道国外的maven下载一个是比较慢,一个是因为被墙,一些jar包无法下载,非常老火. 比如出现类似下面的错误: Unknown host repo.maven.apache.org ...
- maven学习讲解
参考链接:http://www.cnblogs.com/bigtall/archive/2011/03/23/1993253.html 1.前言 Maven,发音是[`meivin],"专家 ...
- maven常见问题问答
1.前言 Maven,发音是[`meivin],"专家"的意思.它是一个很好的项目管理工具,很早就进入了我的必备工具行列,但是这次为了把project1项目完全迁移并应用maven ...
随机推荐
- 30万奖金!还带你奔赴加拿大相约KDD!?阿里聚安全算法挑战赛带你飞起!
KDD(Knowledge Discovery and Data Mining,知识发现与数据挖掘)会议,作为数据挖掘届的顶会,一直是算法爱好者心中的圣地麦加. 想去?有点难. 给你奖金和差旅赞助 ...
- HDU5882
Balanced Game Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- Windows Container 和 Docker:你需要知道的5件事
微软在2016年的Ignite技术大会上正式发布了Windows Server 2016,其中的容器服务已经可以作为生产环境使用.这意味着Windows 内置的容器服务正式进入了大家的视野,虽然之前我 ...
- 体验 WebFont,网页上的艺术字
在最新项目中,由于要频繁使用艺术字, 而用户设备没有此字体,因此以往的经验都是使用图片... 所以在同事的瞩目期许之下,我开始实验研究这个问题的解决方案1. 直接使用字体文件 @font-face { ...
- uml的图与代码的转换——类图
Uml是我们经常使用的统一建模语言或称标准建模语言.它的图是如何和代码对应的呢?下面我们就来就这个问题讨论一下: 首先是类:uml中的类图是这样的 在这个图中,我们可以看出,这个类图总共分了三行,第一 ...
- 制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)
这是 OpenStack 实施经验分享系列的第 1 篇. OpenStack 的 instance 是通过 Glance 镜像部署的,所以准备镜像是必须要做的工作.本节介绍 Linux 镜像的制作方法 ...
- java 文件操作 读取字节级数据(读取)
package com.swust; import java.io.*; /* * 功能:按照双精度浮点型.整型.布尔型.字符型.和字符串型的顺序从名为sample.dat文件读取数据 * 分析:用F ...
- java学习阶段三:运算符和结构学习
import java.util.Scanner;/* * JAVA中运算符的学习: * 算术运算符:+.-.*./ 和 %,两个整数相除,结果还是整数. * 赋值运算符:=.+=.-=.*=./=. ...
- 在 Windows 上安装 Hadoop 教程(转)
在 Windows 上安装 Hadoop 教程 一见 2010.1.6 www.hadoopor.com/hadoopor@foxmail.com 1. 安装 JDK 不建议只安装 JRE,而是建议直 ...
- Android 仿映客直播间给主播发送礼物(实现连击效果)
效果图 类库的介绍 org.dync.giftlibrary.widget GiftAnimationUtil.java 动画类GiftControl.java 给外部调用的类(核心)GiftFram ...