日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Eclipse / 命令行 創(chuàng)建多模塊的Maven項目(父模塊,子模塊)

 旭龍 2013-12-24

我們都知道,我們常常將一個復雜的java應用拆分成多個java子應用。由于maven的出現(xiàn),這種拆分就更加容易了,因為我們通過maven可以創(chuàng)建多個關(guān)聯(lián)模塊的項目(Multiple Module Projects)。由一個總的模塊,下面包含多個子模塊(子模塊還可以包含子模塊)。

 

一、通過在Maven命令行創(chuàng)建。

 

1. 創(chuàng)建父模塊(總的POM) - cms-validator

使用命令mvn archetype:create -DgroupId=com.ebay.tools.cms.validator -DartifactId=cms-validator

創(chuàng)建一個maven項目,然后修改該項目的pom.xml文件,將package類型改為pom

<packaging>pom</packaging>

并刪除其中的src目錄。

 

2. 創(chuàng)建提供rest service的子模塊:validator-rest

在父模塊的目錄下,

使用命令mvn archetype:create -DgroupId=com.ebay.tools.cms.validator.rest -DartifactId=validator-rest 

創(chuàng)建一個maven(子)項目。

 

3. 創(chuàng)建一個web子模塊: validator-web

在父模塊的目錄下

mvn archetype:create -DgroupId=com.ebay.tools.cms.validator.web -DartifactId=validator-web -DarchetypeArtifactId=maven-archetype-webapp 

 

完成以上3步以后,會在總的pom.xml中已經(jīng)自動加入:

<modules>
  <module>validator-rest</module>
  <module>validator-web</module>
</modules>

在各個子模塊中也自動的加入了:

<parent>

  <artifactId>cms-validator</artifactId>

  <groupId>com.ebay.tools.cms.validator</groupId>

  <version>1.0-SNAPSHOT</version>

</parent>

 

由于默認情況下子模塊繼承了總POM的package(pom),這里需要修改子模塊的pom的package類型。

validator-web模塊覆蓋為<packaging>war</packaging>, validator-rest模塊修改為:<packaging>jar</packaging>。

 

4. 對父模塊的特別設(shè)置:

需要在上級模塊中設(shè)置java編譯的參數(shù),現(xiàn)在eclipse一般都使用比較新的版本,默認jdk是1.6,而maven默認的Jdk版本很有可能還是1.4。 所以需要設(shè)置java編譯參數(shù)。

<plugin>

    <artifactId>maven-compiler-plugin</artifactId>

    <configuration>

        <source>1.6</source>

        <target>1.6</target>

        <encoding>UTF-8</encoding>

    </configuration>

</plugin>

 

5. 如果web子模塊需要wtp的支持,則可以在web模塊的pom中設(shè)置wtp的支持,需要設(shè)置elcipse插件:

<build>

    <plugins>

        <plugin>

            <groupId>org.apache.maven.plugins</groupId>

            <artifactId>maven-eclipse-plugin</artifactId>

            <configuration>

                <wtpmanifest>true</wtpmanifest>

                <wtpapplicationxml>true</wtpapplicationxml>

                <wtpversion>2.0</wtpversion>

            </configuration>

        </plugin>

    </plugins>

</build>

 

6. 生成eclipse項目:

在父模塊的根目錄下,執(zhí)行命令:

mvn eclipse:eclipse

 

注:在eclipse中導入如上的項目后,如果沒有在eclipse中設(shè)置"M2_REPO",導入的項目可能會報錯,

可以在eclipse中設(shè)置M2_REPO, 配置步驟:window >> preferences >> Java >> Build Path >> Classpath Variables

新建一個 M2_REPO 的變量,變量值指向你系統(tǒng)的Maven2的數(shù)據(jù)倉庫位置(例如我自己的路徑為:C:\maven-repo\swang\ebox)。如果要在eclipse中使用m2eclipse,需要執(zhí)行命令mvn eclipse:m2eclipse, 這樣就不需要設(shè)置M2_REPO類庫變量了。

 

 二、在Eclipse中創(chuàng)建多個maven項目模塊

 在Eclipse中創(chuàng)建父模塊及其子模塊也非常簡單,主要也是通過選擇模塊的路徑來完成。

1. 創(chuàng)建父模塊:ast

例如在eclipse中new 一個simple maven project,注意選擇父模塊的路徑為:C:\Users\swang6\workspace\ast

在創(chuàng)建的steps中輸入如下信息:

Group Id:  com.ebay.tools

Artifact Id: ASTController

version: 1.0.0

 

Packaging: pom

Name: Tools:ASTController:ASTController

 

Description:eBox command application using the command pipeline framework.

 

2. 創(chuàng)建子模塊: ASTRestService

在eclipse new 一個simple maven project,注意選擇該子模塊的路徑為:C:\Users\swang6\workspace\ast\ASTRestService,

在創(chuàng)建的steps中輸入如下信息:

Group Id:com.ebay.tools.ast

Artifact Id:ASTRestService

version: 1.0.0

Packaging: jar

Name: Tools:ASTController:AST-REST

Description:Restful services for load balance controller.

 

Parent Project

           Group Id:com.ebay.tools

           Artifact Id:ASTController

           Version:1.0.0

 

3. 創(chuàng)建子模塊: ASTWeb

在eclipse new 一個maven-archetype-webapp類型的project,注意選擇該子模塊的路徑為:C:\Users\swang6\workspace\ast\ASTWeb

在創(chuàng)建的steps中輸入如下信息:

Group Id:com.ebay.tools.ast

Artifact Id:ASTWeb

version: 1.0.0

Packaging: war

Name: Tools:ASTController:AST-WEB

Description:The Load Balance Controller Web application for handling the requests

 

Parent Project

      Group Id:com.ebay.tools

      Artifact Id:ASTController

      Version:1.0.0

 

完成以上操作后,如果在父模塊(ast, ASTController)中的pom.xml中沒有如下的配置,則加上:

<modules>

    <module>ASTWeb</module>

    <module>ASTRestService</module>

 

  </modules>

 

 如果在ASTRestService和ASTWeb中的pom.mxl中沒有如下配置,則加上:

<parent> 

    <artifactId>ASTController</artifactId>

    <groupId>com.ebay.tools</groupId>

    <version>1.0.0</version>

  </parent>

 

這樣就完成了在Eclipse中創(chuàng)建一個父模塊ASTController,然后在其下創(chuàng)建另外兩個子模塊:ASTRestService和web模塊:ASTWeb。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多