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的性質啦,忍忍吧~