简介:
maven是一个强大的项目构建和管理工具,利用java进行开发,属于Apache下的开源项目,maven是跨平台的,并且功能很强大,能够帮助使用者完成从清理,编译,测试,生成报告,打包和部署的一系列操作过程。maven标准化了项目的构建过程,有利于团队之间的协作。此外,maven可以有效的解决java项目中jar包依赖问题,解决由此带来的版本不一致等问题。maven还提供了一个免费的中央仓库,几乎可以找到任何开源类库
下载: https://maven.apache.org/download.cgi
安装
前置条件:java环境
下载好的maven文件,如图所示
添加环境变量:右击我的电脑 → 属性 → 高级 → 环境变量
新建系统变量:变量名,MAVEN_HOME;变量值,安装目录
在系统变量path中添加:%MAVEN_HOME%\bin
maven安装完成,在cmd中输入:mvn -version
配置
- 配置本地仓库:
在主目录新建文件夹maven-repository当做仓库:\apache-maven-3.8.4\maven-repository
修改配置文件:\maven\conf\settings.xml
<localRepository>C:\work\apache-maven-3.8.4\maven-repository(刚才新建的文件夹)</localRepository>
cmd中运行下条命令:如果前面的配置成功,那么maven-repository会出现一些文件
mvn help:system
- 不修改的话,它的默认地址是 C:\Users\用户名.m2
- 当我们从maven中获取jar包的时候,maven首先会在本地仓库中查找,如果本地仓库有则返回;如果没有则从远程仓库中获取包,并在本地库中保存。
- 在maven项目中运行mvn install,项目将会自动打包并安装到本地仓库中
常用命令
mvn -version 查看maven的版本及配置信息
mvn archetype:create -DgroupId= DartifactId= 构建java项目
mvn archetype:create -DgroupId= DartifactId= -DarchetypeArtifactId=maven-archetype-webapp 创建web项目
mvn compile 编译项目代码
mvn package 打包项目
mvn package -Dmaven.test.skip=true 打包项目时跳过单元测试
mvn test 运行单元测试
mvn clean 清除编译产生的target文件夹内容,可以配合相应命令一起使用,如mvn clean package, mvn clean test
mvn install 打包后将其安装在本地仓库
mvn deploy 打包后将其安装到pom文件中配置的远程仓库
mvn eclipse:eclipse 将maven生成eclipse项目结构
mvn eclipse:clean 清除maven项目中eclipse的项目结构
mvn site 生成站点目录
mvn dependency:list 显示所有已经解析的所有依赖
mvn dependency:tree 以树的结构展示项目中的依赖
mvn dependency:analyze 对项目中的依赖进行分析,依赖未使用,使用单未引入
mvn tomcat:run 启动tomcat
编译软件报错
比如编译:jsEncrypter文件
1)Perhaps you are running on a JRE rather than a JDK?
mvn package时,出现报错:Perhaps you are running on a JRE rather than a JDK?
mvn -version,可能是默认环境变量的路径有问题
修改环境变量,添加一条JAVA_HOME,地址为jdk的目录
mvn -v 看到环境指向jdk的目录了
2) 再次执行 mvn package 还是报错:不再支持源选项 1.5。请使用 1.6 或更高版本
解决办法: pom.xml文件中增加maven编译的java.version jdk版本设置,以及maven.compiler.source 资源编译jdk版本设置和maven.compiler.target 资源构建jdk版本设置
For JAVA6~8,一般都是1.6,1.7,1.8的写法
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
For JAVA≥10,直接写10,11,12,13,14
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<java.version>14</java.version>
<maven.compiler.source>14</maven.compiler.source>
<maven.compiler.target>14</maven.compiler.target>
</properties>
最后成功编译