Maven简单使用
Maven使用
http://maven.apache.org/users/index.html
maven的主要思想就是把平时常用的一些开源jar包放到集中一起管理;然后每次项目编译的时候,就去maven上找哪些依赖包的最新版本;这样就方便了,每次重新自己去下载依赖包了;
安装
sudo brew install maven mvn --version # 检查版本
创建项目
默认创建
-
创建一个目录
mkdir testmaven cd testmaven
-
创建项目架构
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
创建项目的基本信息
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0 [INFO] ---------------------------------------------------------------------------- [INFO] Parameter: groupId, Value: com.mycompany.app [INFO] Parameter: packageName, Value: com.mycompany.app [INFO] Parameter: package, Value: com.mycompany.app [INFO] Parameter: artifactId, Value: my-app [INFO] Parameter: basedir, Value: /Users/majie/temp/maventest [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] project created from Old (1.x) Archetype in dir: /Users/majie/temp/maventest/my-app
如果是第一次使用maven,那么上面的命令将会去下载最常用的 *.pom
和 *.jar
;下载完后,然后会生成一个my-app
的目录;
目录结构如下:
my-app |-- pom.xml `-- src |-- main | `-- java | `-- com | `-- mycompany | `-- app | `-- App.java `-- test `-- java `-- com `-- mycompany `-- app `-- AppTest.java
这个目录结构和-DgroupId=com.mycompany.app
这个表示是包名, -DartifactId=my-app
:项目名
-DarchetypeArtifactId=maven-archetype-quickstart
: 代表项目类型
交互式创建
建议使用:
mvn archetype:generate
这个命令创建项目架构,使用交互式选择架构;这时候会列举一堆的选项,然后还有一句话,让你自己去选择,下面默认选项是336
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 336:
去336看下
336: remote -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)
和上面打包的-DarchetypeArtifactId=maven-archetype-quickstart
项目类型是一样的;那就直接回车,
Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
默认是最新;
输入组织名称,默认没有,自己写一个吧;
Define value for property 'groupId': : a.b.c
输入项目名, 默认没有, 自己写
Define value for property 'artifactId': : my-project
输入创建版本, 默认(1.0-SNAPSHOT):
Define value for property 'version': 1.0-SNAPSHOT: : v.1.0
输入要创建的包名,默认组织名称的:
Define value for property 'package': a.b.c: : x.y.z
打包
cd 到你相应的项目目录
mvn package
当前目录会生成一个target目录,
运行
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
在命令行上就有结果了
下载的jar包和pom文件在哪里
查看配置文件maven/3.1.1/libexec/conf/setting.xml
在Default: ${user.home}/.m2/repository
eclipse 创建maven 项目
安装maven插件
eclipse 官网有2个插件: m2eclipse,Eclipse IAM
http://www.iteye.com/topic/1123225
使用maven管理jee和jse网上有很多材料;
建议使用最新的eclipse安装
maven android 插件
在参考二中这是一个git,这个git 主要提供了安装android-maven的插件;
-
前提是要安装android的SDK,并且在Path下配置
ANDROID_HOME
环境变量 -
下载这个插件
git clone https://github.com/mosabua/maven-android-sdk-deployer.git
-
进入目录maven-android-sdk-deployer
mvn install
或者安装单个版本
mvn -P 4.2
-
查看目录
ls ~/.m2/repository
多了一个android 目录, 进入查看文件信息,发现android-4.2.x.x.jar已经在里面了
-
快速创建android项目
mvn archetype:generate
选择
896: remote -> ru.nikitav.android.archetypes:release (-)
也许有时候不叫这个名字;反正你看到xxx.android.xx;你就试试,没有损失的
-
打包测试
mvn package adb install xxx.apk
maven有个Bug, 这个Bug会导致编译android 不成功,stackoverflow上的解决方案,是安装3.0.5版本的maven
问题描述
搞定收工
maven有点恶心的是,基本是你每次编译的时候都要去网络监测一下最新包;然后下载,这个对于网络不是很流畅的同学是真心比较慢;不过每次更新,本来就是maven的性质啦,忍忍吧~