Maven簡單使用

jopen 10年前發布 | 48K 次閱讀 Maven 項目構建

Maven使用

http://maven.apache.org/users/index.html

maven的主要思想就是把平時常用的一些開源jar包放到集中一起管理;然后每次項目編譯的時候,就去maven上找哪些依賴包的最新版本;這樣就方便了,每次重新自己去下載依賴包了;

安裝

sudo brew install maven

mvn --version # 檢查版本

創建項目

默認創建

  1. 創建一個目錄

    mkdir testmaven 
    cd testmaven
  2. 創建項目架構

    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的插件;

  1. 前提是要安裝android的SDK,并且在Path下配置ANDROID_HOME環境變量

  2. 下載這個插件

    git clone https://github.com/mosabua/maven-android-sdk-deployer.git
  3. 進入目錄maven-android-sdk-deployer

    mvn install

    或者安裝單個版本

    mvn -P 4.2
  4. 查看目錄

    ls ~/.m2/repository

    多了一個android 目錄, 進入查看文件信息,發現android-4.2.x.x.jar已經在里面了

  5. 快速創建android項目

    mvn archetype:generate

    選擇

    896: remote -> ru.nikitav.android.archetypes:release (-)

    也許有時候不叫這個名字;反正你看到xxx.android.xx;你就試試,沒有損失的

  6. 打包測試

    mvn package
    adb install xxx.apk

    maven有個Bug, 這個Bug會導致編譯android 不成功,stackoverflow上的解決方案,是安裝3.0.5版本的maven
    問題描述

搞定收工

maven有點惡心的是,基本是你每次編譯的時候都要去網絡監測一下最新包;然后下載,這個對于網絡不是很流暢的同學是真心比較慢;不過每次更新,本來就是maven的性質啦,忍忍吧~

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!