L
L
LearnJava
Search…
⌃K

Maven安装配置

1. maven介绍

Maven 是一个项目管理和整合工具。Maven 为开发者提供了一套完整的构建生命周期框架。开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置,因为 Maven 使用了一个标准的目录结构和一个默认的构建生命周期。
Maven 能够帮助开发者完成以下工作:
  • 构建
  • 文档生成
  • 报告
  • 依赖
  • SCMs
  • 发布
  • 分发
  • 邮件列表
总的来说,Maven 简化了工程的构建过程,并对其标准化。它无缝衔接了编译、发布、文档生成、团队合作和其他任务。Maven 提高了重用性,负责了大部分构建相关的任务。

2. linux下maven的安装

# 进入用户目录
cd ~
# 通过wget下载tar包
wget http://apache.mirrors.pair.com/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
# 解压tar包
tar -zxvf apache-maven-3.5.4-bin.tar.gz
# 配置全局环境变量
vim /etc/profile
# 添加
export MAVEN_HOME=/home/wangjun/apache-maven-3.5.4
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin
# 使profile生效
source /etc/profile
# 查看maven版本
mvn -version
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: /home/wangjun/apache-maven-3.5.4
Java version: 1.7.0_95, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-7-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-32-generic", arch: "amd64", family: "unix"
# 结束!
或者
sudo apt-get install maven

3. Maven常用命令

1. 查看maven依赖

mvn dependency:tree
# 输出到指定文件
mvn dependency:tree -Doutput=tree.log
# 查看全部的依赖
mvn dependency:tree -Dverbose
# 分析没有用到的依赖
mvn dependency:analyze
# Used undeclared dependencies found:指的是用到的没有直接引用的依赖,比如在业务代码里用到了A.jar依赖的B.jar。这里A.jar是直接依赖的,B.jar是A.jar直接依赖的。
# Unused declared dependencies found:这个是指我们在pom中声明了依赖,但是在实际代码中并没有用到这个包。这里说的实际代码没有用到,指的是在main/java和test里没有用的,但是并不是意味着真的没有用到这些包,有可能配置文件中引用或者其他扩展点自动加载这些包,所以我们在删除依赖的时候一定要小心,做好备份,因为这类引用maven是分析不出来的。

2. 本地构建相关

mvn package 生成target目录,编译、测试代码,生成测试报告,生成jar/war文件
mvn compile 编译
mvn install 编译,打包,安装包至本地仓库,以备本地的其它项目作为依赖使用
mvn test 编译并测试
mvn clean 清空生成的文件
mvn site 生成项目相关信息的网站
-DskipTests 不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。
-Dmaven.test.skip=true 不执行测试用例,也不编译测试用例类。

3. 安装jar包到远程仓库

mvn deploy