揭開maven2.0面紗

maven2安裝配置介紹

Maven2.0的優點
  Maven2.0有許多很好功能,這些功能不僅僅是幫助您構建項目。如果您剛剛開始啓動一個Java項目,並且想使該項目快速地開展下去,Maven2.0能夠在幾分鐘內達到您的要求。以下是Maven2.0的一些優點:
  --標準的項目佈局和項目結構生成器
  --標準的依賴管理機制
  --多項目支持
  --在開發者需要的時候及時地下載新的插件和功能部件
  --生成最新項目信息的網站
  --集成了源代碼控制軟件:CVS和Subversion

繼續之前你必須安裝好java(即本機要安裝好jre )。

首先,下載 Maven並把它解壓到你要安裝的目錄,例如:windows 下的C:\\maven 之後,把系統變量 M2_HOME 和變量值 maven安裝目錄/bin設置到你的系統的環境變量中。然後在系統控制檯(windows cmd)或終端(linux)下敲入 mvn –version,如果你安裝成功,控制檯將打印出你安裝的maven的版本號,如:
C:\\Documents and Settings\\Administrator>mvn -version
Maven version: 2.0.6
C:\\Documents and Settings\\Administrator>  

2. 網絡設置

maven運行時需要網絡環境。如果你的網絡需要代理,則要在maven目錄的conf/settings.xml中設置。

找到節點,按照例子,根據自己實際環境設置。

創建項目
在命令行中執行以下(Maven 把它叫作goal)命令:
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
如果你是首次運行該(goal)命令,maven將要花一些時間去把最新的工具包(Maven 把它叫作artifacts)下載到你的本地倉庫。你也許要執行很多次上面的命令才能成功,因爲遠程服務器有時可能連接不上或者超時(這種情況很少見,除非是你本地網絡沒有配置好)。
命令執行完後你將看到maven生成了一個名爲my-app的目錄,這個名字就是你在命令中指定的artifactId,進入該目錄,

項目目錄具體如下!


D:\\MY-APP
│ pom.xml

└─src
    ├─main
    │ └─java
    │      └─com
    │          └─mycompany
    │              └─app
    │                      App.java
    │
    └─test
        └─java
            └─com
                └─mycompany
                    └─app
                            AppTest.java
其中,src/main/java 目錄包含了項目的源代碼,src/test/java 目錄包含了項目的測試代碼,pom.xml是項目的項目對象模型(Project Object Model or POM)。

常用命令

Maven2 的運行命令爲 : mvn ,

常用命令爲 :

mvn archetype:create :創建 Maven 項目

mvn compile :編譯源代碼

mvn test-compile :編譯測試代碼

mvn test : 運行應用程序中的單元測試

mvn site : 生成項目相關信息的網站

mvn clean :清除目標目錄中的生成結果

mvn package : 依據項目生成 jar 文件

mvn install :在本地 Repository 中安裝 jar

mvn eclipse:eclipse :生成 Eclipse 項目文件

生成項目

建一個 JAVA 項目 : mvn archetype:create -DgroupId=com.demo -DartifactId=App

建一個 web 項目 : mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp

生成 Eclipse 項目

普通 Eclipse 項目執行 : mvn eclipse:eclipse

Eclipse WTP 項目執行 : mvn eclipse:eclipse –Dwtpversion=1.0

( wtp1.0 以上版本均可用)

在 Eclipse 裏面 file>import

然後選擇 General>Existing Projects into Workspace(如果安裝了maven插件這個地方選擇maven project,然後下一步找到pom.xml文件)

設置 maven 的路徑變量 M2_REPO

Window -> Preferences -> Java -> Build Path -> Classpath Variables

New Name 命名 : M2_REPO

路徑 :本地的 maven 類庫地址

這裏爲 C:/Documents and Settings/{ 你的系統登錄用戶名 }/.m2/repository(自定義設置的倉庫:修改.setting.xml文件<localRepository>C:\Java\Tools\apache-maven-2.0.8\M2Repository</localRepository>   並讓ide內的setting.xml文件設置指向你得這個文件)

注意事項:
1、Maven默認的remote repository是ibiblio.org,這個地方有些人上不去,因此要更改一下。
Maven找尋配置參數的默認的順序是從maven.jar中的defaults.properties開始。打開該文件,修改:
maven.repo.remote =     http://apache.linuxforum.net/dist/java-repository, http://dist.codehaus.org, http://mirrors.sunsite.dk/maven/http://public.planetmirror.com/pub/maven, http://www.ibiblio.org/maven

可在以下兩個網站查閱:http://mvnrepository.com/,http://repo1.maven.org/maven2/

2、Maven默認的本地文件保存在Document and Setting的user.home裏面,非常不便。
在%MAVEN_HOME%下建立一個local目錄,將本地的repostiory保存在此,以免重裝系統丟失。
maven.home.local = ${maven.home}/local
3、Maven的提示語言在中文環境中可能出現亂碼,進入maven.jar,
發現org\apache\maven\messages目錄下的messages_zh_CN.properties裏面直接寫了中文字符。刪掉它!就不會亂碼了。
(或者用native2ascii轉換)

4、Maven中最大的麻煩之處就是不能從Maven存儲庫中獲取Sun的jar文件。這個問題歸因於Sun在其代碼中設置的許可證限制。解決這個問題的辦法有兩種,一種是下載這些代碼並將它們安裝在您本地的存儲庫中,另一種是做一個外部聲明,並將這個聲明指向文件系統中依賴項所在的位置。希望Sun能夠儘早地創建自己的存儲庫,儘管如此,Maven也會被升級來使之能夠下載這些資源,只是在下載之前它會提示用戶接受許可證協議。

5、另外一個麻煩的地方就是有時候使用的最新的庫文件可能在遠程存儲庫中不存在。另一種可能是由於無法訪問Internet,需要所有的依賴項都能在本地獲取。這些問題的最好解決方案就是將jar文件安裝到本地的存儲庫中。將本地的存儲庫放在一臺web服務器上也同樣是個便利之舉,這樣整個開發團隊就能從此獲益,每個人都沒有必要去管理自己的存儲庫了。改變Maven的存儲庫路徑只需簡單地編輯其安裝目錄下conf文件夾下面的settings.xml文件即可。

IDE下的問題

1. 當 M2eclipse 插件裝上之後,會報這個錯

Eclipse is running in a JRE, but a JDK is required

Some Maven plugins may not work when importing projects or updating source folders.

解決辦法 :查看 eclipse\readme\readme_eclipse.html 裏面有詳細說明,在 Selecting a workspace 這一節

創建一個快捷方式,設定目標位置爲 D:\eclipse_jee\eclipse.exe -vm D:\Java\jdk1.5.0_10\bin\javaw

因爲默認 vm 爲 jdk\jre\bin\javaw ,直接改到 jdk 下,錯誤即可消除

2. 使用命令 mvn eclipse:eclipse –Dwtpversion=1.0 之後,導入的項目 Project Facet 的 java 還是 1.4 ,而我 Eclipse 上設置的是 5.0

解決辦法 :在 pom.xml 中 plugins 加入說明就可以了

Xml代碼

  1. <plugins>
  2. <plugin>
  3. <artifactId>maven-compiler-plugin</artifactId>
  4. <configuration>
  5. <source>1.5</source>
  6. <target>1.5</target>
  7. </configuration>
  8. </plugin>
  9. </plugins>
<plugins>         <plugin>            <artifactId>maven-compiler-plugin</artifactId>            <configuration>                <source>1.5</source>                <target>1.5</target>            </configuration>         </plugin> </plugins>

3.   在使用命令mvn eclipse:eclipse 之後,import到Eclipse,然後在Eclipse項目上點右鍵,選擇插件Maven>Enable Dependency Management後,會報重複引用依賴的錯誤
解決辦法 :再執行mvn eclipse:eclipse然後刷新Eclipse的項目,取消掉maven插件的引用依賴,錯誤就會消除

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章