maven入門學習第一彈(windows)

      以前就聽過maven,但一直沒具體接觸,最近聽一個同學推薦這工具功能蠻強大的。本着好奇之心,這週末就嘗試了maven的工具使用,意外的是還是遇到了不少問題,在此做一個簡單的總結。

     

    一、下載與安裝


    download:官網網址如下

    http://maven.apache.org/download.cgi     

    安裝  

        maven下載後解壓即可,沒有.exe安裝文件,之後進行一下配置

        step1:根據maven版本要安裝相應版本的jdk,maven3.3版本則需要至少1.7(包括)以上版本的jdk,具體請見官網,並且要配置jdk的環境變量,JAVA_HOME在環境變量中是一定要配置的        

       step2:在環境變量中設置maven_home(maven的安裝目錄),並且將%maven_home%\bin添加到path的環境變量中       上述配置完成後,打開dos命令行 輸入mvn -v即可查看maven的相關版本信息,證明基本配置ok,如java_home沒設置,此時會提示在環境變量中需設置java_home變量值        

      step3:可以設置maven下載jar到本地目錄的位置,默認是${user.home}/.m2/repository,可以在%maven_home%\conf\setting.xml中更改重新指定,將如下標籤:<localRepository>G:/workspace/maven_repository</localRepository>  放到根標籤settings下即可



     二、用maven編譯與測試java源文件


      安裝配置maven後即可通過maven的一些命令來爲我們編譯,測試 java程序。   


      setp1:建立指定格式的文件結構(最重要,最重要,最重要的一步,重要的事情說三遍),如下:

           path(執行mvn命令目錄)\src\main\java\...\XXX.java       

           path(執行mvn命令目錄)\src\test\java\...\XXXTest.java       

           path(執行mvn命令目錄)\pom.xml  

          說明:path指的是某個盤下的某個目錄,比如G:\maven_workspace_demo,也等同於 執行命令目錄      

      step2:配置pom.xml,最基本的配置信息如下:

         <?xml version="1.0" encoding="UTF-8"?>

         <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 

          <modelVersion>4.0.0</modelVersion>  

         <groupId>com.kingdee.maven</groupId> 

          <artifactId>maven_welcome</artifactId>  

         <version>1.0.0</version>

         <properties>  

            <project.build.sourceEncoding>               

                 UTF-8       

           </project.build.sourceEncoding>

         </properties>

      </project>     

       step3:在dos中通過命令cd進入path目錄下進行編譯,命令如下     mvn compile    

           注意:是進入path目錄下,即與src,pom.xml同級的目錄下執行 mvn compile命令 編譯 執行命令目錄\src\main\java\包名\java源文件      

          如果執行該命令的目錄下沒有pom.xml文件則會提示該文件找不到;     

          如果該執行目錄有pom.xml,但是java源文件是如下格式放的 執行命令目錄\包名\java源文件,那麼此時會提示 \src\main\resources 下沒有資源,此時也不會在pom.xml同級目錄下生成target\classes文件夾;  

         如果執行目錄有pom.xml,但java源文件是如下格式放的 執行命令目錄\src\main\resources\包名\源文件,那麼此時在pom.xml同級目錄下會生成target\classes的文件夾,但此時只是將源文件夾裏的內容拷貝到了 執行命令目錄\target\classes\包名\java源文件,此時java源文件並沒有編譯成.class文件    

         有且僅有按如下格式放java源文件 執行命令目錄下\src\main\java\包路徑\java源文件,纔會將java源文件編譯成.class文件,生成的.class文件路徑如下  執行命令目錄\target\classes\包名\.class文件,此時 執行命令目錄\src\test\java\包名\測試類java源文件 並沒有被編譯        

      step4:寫一個類測試java源文件中的方法,該測試類中引用了junit4中的相關類,因此還需做如下配置 

          將測試類放到   執行命令目錄(src,pom.xml的同級目錄)\src\test\java\包名\測試類.java (\src\test\java\  這是執行mvn test命令 編譯 測試類進行測試的固定結構格式)   

        在pom.xml中引用junit的jar,添加如下配置內容

             <dependencies> 

                    <dependency>

                      <groupId>junit</groupId> 

                     <artifactId>junit</artifactId> 

                     <version>4.4</version> 

                   </dependency>

             </dependencies> 

       進入path目錄下執行 mvn test 命令,則會編譯 測試類,並且執行裏面的@Test的方法,輸出測試類相關方法的測試結果。

       注意:在執行mvn compile 或者 mvn test命令時,maven會根據pom.xml裏面配置信息去做一些事,比如在step4中,配置了junit4的依賴項,如果檢測到maven本地倉庫中沒有junit4 4.4版本的jar,則會先從maven的遠程倉庫中下載到本地來,在進行之後的操作。


      三、配置依賴本地不同目錄下的java類    

  

            path1\src\main\java\包名\java源文件1  

            path1\pom1.xml      

            path2\src\main\java\包名\java源文件2  

            path2\pom2.xml   

        假如java源文件2中的類引用了java源文件1中的類,需要哪些步驟才能正常的編譯java源文件2呢?    

        step1:進入path1,是path1不是path2,執行mvn install命令,該命令會將path1 /src/main/java 下的java源文件編譯 ,並且會自動放到本地的respository中,所以不需要執行mvn compile 也可以    

       step2:編輯pom2.xml,將pom1.xml中定義的座標groupId,artifactId,version 組成dependency 放到pom2.xml 中的dependencies中  

       step3:通過dos命令進入path2,執行mvn compile 就可以正確編譯 java源文件2了,不會提示缺少類了              

 

          





 


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