一.什么是maven?
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。
一个jar包,会有两种下载的方式。一种是直接下载压缩包,一种是提供maven下载路径。Maven最方便的就是能帮我们下载jar包。告别传统手动导包的方式。
二.maven仓库
maven中有中央仓库,本地仓库,私服三个概念
1.中央仓库是maven给你提供的所有jar包的下载地址.网址:http://mvnrepository.com/
2.本地仓库是你在中央仓库里下载好的jia包所保存的文件夹。
3.私服相当于一个大型的本地仓库,一般在规模庞大的公司里才会有自己的私服。为什么会有私服呢? 有些公司在上班过程中某些电脑是不允许连接互联网的,只能使用自己公司的局域网,那么,这个时候你要使用maven的话就不能使用http的地址,这个时候就产生了私服。私服通过maven的索引使用公司的ip地址来使用到maven中的jar包。中国拥有最厉害的私服公司就是马云的阿里巴巴。但是阿里巴巴的私服会对外开放。
三.Eclipse配置maven 官网:http://maven.apache.org/
1.解压你在maven下载到的压缩包,一般把它和jdk放在一起。
2.安装maven在电脑上
鼠标右键点击计算机>点击属性>点击高级系统设置之后会弹出
然后再点击环境变量会弹出:
这个时候你就可以点击新建配置maven_home,注意maven_home的变量值是你maven的压缩包的解压地址。
配置完maven_home之后记得还需要修改path
在path的变量值最后加上%MAVEN_HOME%\bin;但是在配置maven_home时,你得保证你的环境变量里面存在JAVA_HOME(配置jdk)。没有配置JAVA_HOME测试时会报错。做完这些后,你就可以测试你的maven有没有安装成功。打开cmd,输入mvn -v如果你出现的是:
那么恭喜你,你安装成功了。但是这只是成功的第一步,你还需要在你的Eclipse上安装maven。
3.在Eclipse上安装maven
打开Eclipse点击window>prferences之后会弹出
点击确定之后会出现:
点击finish之后:
这个时候你就把maven装在你的Eclipse中了,但是我们知道,maven是一个方便我们管理jar包的工具,我们需要用到的jar包都是从maven的中央仓库里下载的,但是我们不需要每次都需要去本地仓库里下载,当我们下载过一次之后就可以在我们的本地仓库中导入jar包,那么,怎么连接本地仓库呢?
4.连接本地仓库
第一步:你首先需要找到你的maven解压文件夹,然后打开conf子文件夹,然后编辑settings.xml
第二步:回到eclipse中点击window再点击preferences
配置完以上步骤之后,恭喜你,可以在maven环境下建立project啦~
Eclipse导入maven项目时,Pom.xml文件报错处理方法
导入maven项目,FIle→Import→Existing Maven Projects→找到自己想要导入的文件目录→Finish。项目就导入完成啦。接着就遇上了各种报错!!
一、Pom.xml文件第一次报错
CoreException: Could not get the value for parameter compilerId for plugin execution default-testCompile: PluginResolutionException: Plugin org.apache.maven.plugins:maven-compiler-plugin:3.1 or one of its dependencies could not be resolved: The following artifacts could not be resolved: org.apache.maven:maven-plugin-api:jar:2.0.9, org.apache.maven:maven-artifact:jar:2.0.9, org.apache.maven:maven-core:jar:2.0.9: Failure to transfer org.apache.maven:maven-plugin-api:jar:2.0.9 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven:maven-plugin-api:jar:2.0.9 from/to central (https://repo.maven.apache.org/maven2): connect timed out。
解决方法:
这是因为网络原因,导致文件没有下载完成。
在电脑中搜索xxx.jar.lastUpdated,并将其都删除即可,具体步骤如下:
1)找到 {user}/.m2/repository
2)搜索“.lastupdated”。(如果不记得对应的.m2位置,可以全计算机搜索)Windows将展示所有文件夹的目录。
3)选中对应的lastupdated文件,并删除。
4)重新打开(若先前未关闭,请关闭后重新打开)Eclipse,右键报错的项目,并选择Maven > Update Project。同时记得勾选Force Update of Snapshots/Releases”. 点击OK,这样就解决了依赖关系。
二、Pom.xml文件再次报错
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format:or:[:]:. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1][ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1]http://cwiki.apache.org/confluence/display/MAVEN/NoGoalSpecifiedException
解决方法:
右击报错的项目→Properties→Project Facets→Runtimes→勾选Apache Tomcat v7.0
在Project Facets处找不到Runtimes时,需要点击下图Convert to faceted from…
三、Pox.xml最后报错
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project mrpapp: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
解决方法:
在eclipse中找到Window → Preferences → Java → Installed JREs,在jRE home中修改为你安装的jdk的目录位置。
好了,3个报错都被处理了,现在我就可以开心的运行项目啦!