Maven
Posted lanhaiyue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven相关的知识,希望对你有一定的参考价值。
- 什么是maven
maven简单来说就说一个管理项目之间依赖关系的工具。最早的时候没有这一类的工具,所以项目之类都是直接依赖,比如lib下加入jar包;后来有了ant,但是ant需要一个很繁琐的配置;于是继续简化就有了maven(convention over configuration(约定优于配置);ant难在一大堆繁琐的配置上,而maven把许多配置改成了约定的东西,所以配置简单)。所以说maven主要就是用来管理项目间依赖关系,同时也有着其他功能。
- maven安装
官网下载,地址:http://maven.apache.org/download.cgi;下载对应版本,解压,跟配JAVA_HOME一样配置环境变量MAVEN_HOME。然后在命令行输入 mvn -version输出
说明环境变量配置成功。
从输出可以看出Maven运行以来java,所以说明他也是用jvm来运行的,所以我们可以加一个环境变量MAVEN_OPTS,来控制他使用jvm的参数,比如-Xms128m -Xmx512m,控制jvm的最大最小内存。
- maven优点
- 配置简单
- 支持测试
- 构建简单
- 支持ci
- 插件丰富
- maven文件夹说明
- bin (maven中的可执行命令)
- boot(maven的classloader)
- conf(maven的配置文件)
- lib(maven的依赖包)
- conf/setting.xml
我觉着这个是maven中最重要的配置文件
<localRepository>:配置maven在下载的jar包在本地的存储路径,windows默认是:当前用户/.m2/repository;
<interactiveMode>:是否开启交互模式;这将确定maven是否在需要输入时提示您。默认是开启的;
<offline>:是否离线;确定maven在执行构建时是否应尝试连接到网络。这将对组件下载,组件部署等产生影响。默认是false;
<pluginGroups>:插件;之前说了他有很多的插件,这个会另写一下详细说;
<proxies>:代理;给maven配一个代理,默认连接到maven中心库,有的时候不稳(明白就好),就可以配一个代理,或者用另一种办法;
里面的详细解释
<proxy>
<id>:唯一标识符;
<active>:该代理是否被激活;
<protocol>:代理协议;
<host>:主机名;
<port>:端口;
<username>:用户名;
<password>:密码;
<nonProxyHosts>:不被代理的主机名,多个用 | 分割;
<servers>:服务;当我们自己搭建一个maven服务器,而又不能公开的时候就需要用户名密码,或者公钥私钥的方式登录的时候;
<server>
<id>:唯一标识符;
<username>:用户名;
<password>:密码;
</server>
或者
<server>
<id>:唯一标识符;
<privateKey>:私钥路径
<passphrase>:密码,不需要的话可以留空;
</server>
<mirrors>:镜像;如果连接中心仓库过慢的话,可以配置为国内的镜像源;
比如阿里的镜像
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<profiles>:指定要使用上述一种或多种机制激活的构建过程的一组介绍。 用于继承目的,以及通过<activatedProfiles />激活配置文件或者命令行,配置文件必须具有唯一的ID。它通常包含了id,activation, repositories, pluginRepositories和 properties元素。如果一个settings中的profile被激活,它的值会覆盖任何其它定义在POM中的profile。
<id>:唯一标识符。
<activation> :触发profile的条件逻辑,即什么条件下触发;例如<jdk>可以指定什么版本的jdk触发,<os>指定什么条件下的操作系统触发;<property>指定什么参数的什么值触发;<file>指定某个文件存在或者不存在的时候触发;
<properties>:属性列表;可以在这里配置一下属性,比如<user.name>$user.home/test</user.install>,当次profile被激活的时候,可以在pom中使用$user.name
<activeProfiles>:激活profile列表;这个方式配置的所有profile都处于激活状态,如果没有找到对应的profile,正常使用;
作者 萌新,如有错误,望请指正,感激不尽!
-Xms128m -Xmx512m
以上是关于Maven的主要内容,如果未能解决你的问题,请参考以下文章
Spring+SpringMVC+MyBatis+Maven框架整合
关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段
如何在 Apache Felix maven-bundle-plugin 中设置 Provide-Capability 标头?