遇到重複的Maven項目初始配置,就要創建自己的Maven Archetype

      什麼是重複的Maven項目初始配置?舉個例來說,比如你公司要採用Maven + GWT的搭配,那些對於很多同事,尤其是新同事來說,搭配這樣的平臺是相當痛苦的事情,每當有不熟悉配置的人進入到項目組,都要消耗一個人很多時間去搭配!這時你可能會說,我搭配好,把整個項目備份,下次要用時,就拿出來用不就行了!在這裏我要提醒你,你這樣保存的目錄是死的,就是說你裏面那些文件夾,如/src/main/java/com/mycompany/,這裏/com/mycompany就是死的,當項目groupId從com.mycompany改爲org.apache時,你拷過來的東西,還得花比較多的時間去改。並且如果項目組有很多人,每個人都得先從一個地方拷貝,比較麻煩,從某種意義上來說,創建一個這個項目初始配置的archetype會節省你,尤其是項目組的時間,如果有自己的maven repository服務器,那效果就更佳了。

 

      在這裏我並不打算解釋maven archetype是什麼東西,大家有興趣,可以參考官方文檔,它有詳盡的解釋,與實例,這裏我也只是簡單列舉一下用法,也並不打算寫一篇官方文檔的翻譯版,純粹是介紹之意

 

官方文檔:http://maven.apache.org/guides/mini/guide-creating-archetypes.html

 

下面是創建自己的archetype的步驟,及用法

1、首先創建一個maven archetype的項目,用下面的命令

 

 

mvn archetype:create 
  -DgroupId=[your project's group id]
  -DartifactId=[your project's artifact id]
  -DarchetypeArtifactId=maven-archetype-archetype

 

在上面的命令中 -D 是參數, groupId 與 archetypeId的意義也不解釋了,maven項目的話,groupId, archetypeId, version這三個是必須得瞭解的,即使你用別人的dependency,這三個參數也是必須明確的,這裏再次提醒一下,maven的官方網站是:http://maven.apache.org

 

首先在命令行窗口中,進到你想要存放這個項目的目錄,如c:\test,又比如你公司的網站有http://www.mycompany.com,那麼通常你的groupId就是"com.mycompany",新創建的archetype項目想命名爲my-archetype,那麼,就該打以下命令

 

c:\test > mvn archetype:create -DgroupId=com.mycompany -DartifactId=my-archetype -DarchetypeArtifactId=maven-archetype-archetype

 

運行完命令後c:\test目錄下會生成下面這樣一個目錄結構

my-archetype

    |--pom.xml                                      //這個是archetype項目的pom文件,下面還有一個pom文件,兩個是不同的

    |--src

        |--main

            |--resources

                |--archetype-resources       //這個文件夾裏面的文件全是要被複制的文件

                    |--pom.xml                      //要被複制的pom.xml文件

                    |--src                             

                        |--main

                            |--java                    //實際上,在創建新項目後,會自己幫你創建與groupId相對應的文件夾,然後把源代碼文件複製相這些文件夾下面

                                |--App.java         //要被複制的java代碼文件

                        |--test

                            |--java

                                |--TestApp.java  //要被複制的單元測試代碼文件

                |--META-INF

                    |--maven

                        |--archetype.xml         //在這個xml文件中,要明確寫明所有要被複制的文件的相對路徑

 

 

然後運行下面這個命令,將自己的archetype install 到本地的maven repository目錄中

 

c:\test > mvn install

 

就這樣,你自己的maven archetype就己經成功被安裝了,怎麼使用它,下面再作簡單介紹

 

比如有一個新同事,要用你的archetype生成一新項目的初始配置目錄,groupId與你之前所寫的有所不同,爲com.company.customer,artifactId爲news-module,那麼,他需要運行下面這個命令

 

c:\test > mvn archetype:create -DarchetypeGoupId=com.mycompany -DarchetypeArtifactId=my-archetype -DarchetypeVersion=1.0-SNAPSHOT -DgroupId=com.mycompany.customer -DartifactId=news-module

 

不要怕命令長度太長,其實理解了它們的意思,就容易了,無非就是archetype、groupId、artifactId、version這幾個單詞的組合

 

在上面的命令中,-DarchetypeVersion=1.0-SNAPSHOT,這個1.0-SNAPSHOT是怎麼來的呢,其實新創建的archetype項目version都是1.0-SNAPSHOT(你可以在c:\test\first-maven-archetype\pom.xml文件中找到,當然,如果你想換,你自己可以改一個你喜歡的)

 

運行完以上命令後,在你c:\test文件夾下,會生成下面這樣一個目錄

 

news-module

    |--pom.xml                              //這個pom是複製過來的

    |--src

        |--main

            |--java

                |--com

                    |--mycompany        //com,mycompany,customer這三個文件夾是根據groupId自動創建的

                        |--customer

                            |--App.java     //這個文件是複製過來的

        |--test

            |--java

                |--com

                    |--mycompany       //com,mycompany,customer這三個文件夾是根據groupId自動創建的

                        |--customer

                            |--TestApp.java        //這個文件是複製過來的

 

 

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