提供一个maven官网地址,有时候我们不知道jar包的groupid,ArtifactId,Version是多少的时候,就可以到上面去查询(官网的jar,而不是未发布的)http://search.maven.org/#search|ga|1|
Maven下载地址:http://maven.apache.org/download.cgi
当前版本的eclipse(eclipse-jee-luna-R-win32)是集成了Maven的,在老的版本eclipse中需要去安装插件,如果你在window->preferences能看到Maven项,说明就集成或者安装好了。
环境配置:
解压下载的文件到,然后新建环境变量M2_HOME,值为Maven解压后的路径,然后把引用添加到path变量中。
如:
1.解压到 D:\apache-maven-3.0.3
2.配置M2_HOME的环境变量,值为 D:\apache-maven-3.0.3
3.path值的末尾添加 %M2_HOME%\bin
4.打开cmd,输入 mvn -version,测试是否正常显示。
修改仓库位置:
在apache-maven-3.3.3\conf的路径下,打开settings.xml.
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\study\m2\repository</localRepository>
localRepository里面存放的就是本地仓库的位置,你可以任意指定(记得要创建好路径)。如果你不设置的话,它会在在系统盘中默认一个路径。
<mirror>
<id>ibiblio</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://mirrors.ibiblio.org/maven2/</url>
</mirror>
修改里面的mirror节点 ,url指向远程仓库的地址。 设置之后你的所有项目都有作用。
如果想修改项目中的仓库位置,就打开项目中的pom.xml,在 <repository>元素中修改。
Maven仓库分类:
maven的仓库只有两大类:1.本地仓库 2.远程仓库,在远程仓库中又分成了3种:2.1 中央仓库 2.2 私服 2.3 其它公共库
本地仓库,顾名思义,就是Maven在本地存储构件的地方。maven本地仓库的默认位置:无论是Windows还是Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是Maven仓库的默认位置
远程仓库,先从最核心的中央仓库开始,中央仓库是默认的远程仓库,maven在安装的时候,自带的就是中央仓库的配置
中央仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。一般来说,简单的Java项目依赖的构件都可以在这里下载到
私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从外部的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。我们还可以把一些无法从外部仓库下载到的构件上传到私服上。
Maven私服的 个特性:
1.节省自己的外网带宽:减少重复请求造成的外网带宽消耗
2.加速Maven构件:如果项目配置了很多外部远程仓库的时候,构建速度就会大大降低
3.部署第三方构件:有些构件无法从外部仓库获得的时候,我们可以把这些构件部署到内部仓库(私服)中,供内部maven项目使用
4.提高稳定性,增强控制:Internet不稳定的时候,maven构建也会变的不稳定,一些私服软件还提供了其他的功能
5.降低中央仓库的负荷:maven中央仓库被请求的数量是巨大的,配置私服也可以大大降低中央仓库的压力
当前主流的maven私服:
1.Apache的Archiva
2.JFrog的Artifactory
3.Sonatype的Nexus
远程仓库配置
配置远程仓库将引入新的配置元素:<repositories> <repository>
在<repositories>元素下,可以使用 <repository>子元素声明一个或者多个远程仓库
配置Android Connector,有两种方式。
一种是:window->preferences->Maven->Discovery->Open Catalog->Android Connector
另外一种是:"Help" -> "Install New Software"
location:http://rgladwell.github.com/m2e-android/updates/
创建android项目:
File->New->Project,选择Maven Project
点击Next->Next,选择android-quickstart:
如果没有,点击 Add Archetype,分别是:
de.akquinet.android.archetypes
android-quickstart
1.1.0
next,然后填入项目的id,点击finish。
注意:
1.-Dmaven.multiModuleProjectDirectory system propery is not set.
新建一个环境变量M2_HOME指向你的maven安装目录
M2_HOME=D:\study\apache-maven-3.3.3
然后在Window->Preference->Java->Installed JREs->Edit
在Default VM arguments中设置
-Dmaven.multiModuleProjectDirectory=$M2_HOME
2.No goals have been specified for this build
pom.xml文件<build>标签后面加上<defaultGoal>compile</defaultGoal>。
3.Project build error: Unknown packaging: apk
在Eclipse中安装m2e-android插件
路径:http://rgladwell.github.com/m2e-android/updates/
安装方法:Help -> Install new Software
如果还不能解决,就指定版本号和sdk的版本:
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<sdk>
<platform>21</platform>
</sdk>
</configuration>
</plugin>
</plugins>
4.com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.8.2:consume-aar (execution: default-consume-aar, phase: compile)
创建项目的时候,把android-plugin-version 修改为 3.5.0,不要使用默认的3.8.2就可以了。
5."Launching New_configuration"
项目上右击->Run/Debug Settings->删除 new_Configuration.