1. 程式人生 > >使用eclipse建立maven多模組專案

使用eclipse建立maven多模組專案

現在稍微大點的專案都是使用多模組的,要不然全部程式都堆積在一個專案中會讓這個專案顯得很臃腫,

這個是已經搭建好的,需要可自行下載:點選開啟連結

廢話不多說,我們開始,首先要建立父專案-parent

1、首先,在exlipse專案樹的空白處右擊-->new project

2、在彈出的視窗中選擇Maven Project,然後點選下面的 Next >

3、這個頁面不用管,再點選下面的 Next >

4、因為我們要建立父專案,而不是web喜愛年購買,所以選擇末尾為 quickstart的選項,然後點選下一步

5、各選項的資訊圖片上有註釋,填寫好之後點選finish,

5、到這一步,一個父專案就建立好了

7、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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.maven</groupId>
  <artifactId>xd-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <name>xd-parent</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.7.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.20.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

---------------------------我是分隔線----------------------------

現在開始建立web的子專案,注意:新建之前一定要把pom檔案中的packing標籤改成pom,然後右鍵專案->maven->update maven Configuration... 


8、右鍵剛剛新建好的專案->new->Project

9、選擇maven Module,點選 Next>

10、輸入專案名稱後點擊 Next >

11、選擇maven-archetype-webapp後點擊Next >

12、因為剛剛輸入了專案名稱了,所以artifact Id不能更改,這裡什麼都不用改,直接點選Finish

    group Id 是你的唯一標識

   package是預設生成的包路徑,

13、web層也建好啦

14、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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
        <artifactId>xd-parent</artifactId>
        <groupId>com.maven</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

  <groupId>com.maven</groupId>
  <artifactId>xd-web</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>xd-web Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>xd-web</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.7.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.20.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

15、現在開始建立資料操作模組專案,在parent專案上右擊->new->project->maven Module,然後點選Next >

16、輸入模組名稱,因為我是把資料操作層放到這裡的,所以起名為common,然後點選 Next >

17、選擇 maven-archetype-quickstart, 然後點選 Next >

18、剛剛模組名稱已經起好了,所以artifact id不可編輯,直接點選finish即可

19、到這裡,父專案和模組就已經建立好了

20、如果專案中沒有這三個目錄的話,自行建立即可


21、那麼還需要新增依賴,因為web需要呼叫common裡面的類,所以web依賴common

在web專案的pom檔案加上依賴

<dependency>
	<groupId>com.maven</groupId>
	<artifactId>xd-common</artifactId>
	<version>0.0.1-SNAPSHOT</version>
</dependency>

到這一步,多模組的專案就已經搭建完成啦,如果還需要新增額外的模組,從第15步再建立一個即可

好了,享受開發帶來的樂趣吧!!!