Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理java
除了编写源代码,咱们天天有至关一部分时间花在了编译、运行单元测试、生成文档、打包和部署等烦琐且不起眼的工做上,这就是构建。apache
执行以下命令,检查JDK的安装状况服务器
echo %JAVA_HOME%框架
java -versionjvm
(1)去官网下载maven,解压,maven
(2)而后设置环境变量(建议设置用户环境变量)ide
M2_HOME=C:\dev-env\Maven\apache-maven-3.5.4 PATH=%M2_HOME%\bin
(3)验证单元测试
echo %M2_HOME%测试
mvn -vspa
目录 | 分析 |
---|---|
bin | (1)该目录包含了mvn运行的脚本,(2)这些脚本用来配置Java命令,准备好classpath和相关的Java系统属性,而后执行Java命令。 |
boot | 包含一个类加载器框架:plexus-classworlds-2.5.2.jar |
conf | (1)包含一个全局配置文件 settings.xml ,(2)通常状况下,推荐将该文件复制到 ~/.m2/ 目录下,而后修改该文件,在用户范围定制Maven的行为。 |
lib | 包含全部maven运行时须要的Java类库 |
若想使Maven经过代理服务器来下载jar包,则须要为Maven配置HTTP代理
telnet ip 端口
若是telnet链接正确,则输入ctrl+],而后q,回车,退出便可。
检查完毕以后,编辑 ~/.m2/settings.xml
文件(若是没有该文件,则复制 $M2_HOME/conf/settings.xml
)。
添加代理配置以下:
<settings > ... <proxies> <proxy> <id>my-proxy</id> <active>true</active> <protocol>http</protocol> <host>192.168.12.107</host> <port>3128</port> <!-- <username>proxyuser</username> <password>proxypass</password> <nonProxyHosts>local.net|some.host.com</nonProxyHosts> --> </proxy> </proxies> ... </settings>
- 当代理服务须要认证时,就须要配置username和password。
- nonProxyHost元素用来指定哪些主机名不须要代理,可使用“|”符号来分隔多个主机名。且可以使用通配符 *
运行mvn命令其实是执行了Java命令,经过 MAVEN_OPTS 可设置 jvm参数。
一般须要设置MAVEN_OPTS的值为-Xms128m-Xmx512m,
由于Java默认的最大可用内存每每不可以知足Maven运行的须要,好比在项目较大时,使用Maven生成项目站点须要占用大量的内存,若是没有该配置,则很容易获得java.lang.OutOfMemeoryError。所以,一开始就配置该变量是推荐的作法。
配置文件 | 适用范围 | 描述 |
---|---|---|
$M2_HOME/conf/settings.xml | 全局范围 | 整台机器上的全部用户都会直接受到该配置的影响 |
~/.m2/settings.xml | 用户范围 | 只有当前用户才会受到该配置的影响 |
推荐使用用户范围的settings.xml,主要是:
- 避免无心识地影响到系统中的其余用户
- 方便Maven版本升级
缘由:
- 版本新,可能不稳定
- 与命令行的maven不一致
所以,应该在IDE中配置Maven插件时使用与命令行一致的Maven。