maven安裝與建立多模塊項目

最新版已同步至 http://yywang.info/2014/05/31/maven-install-and-create-project/html

maven是一個比較流行的項目管理工具,在最近參與的項目中,也使用了maven,本文主要對在項目中的使用作一個總結,主要涉及maven的安裝於配置、maven建立多模塊項目。web

一、maven安裝與配置apache

maven的安裝與配置很是簡單,具體步驟以下:app

  一、首先到http://maven.apache.org/download.cgi下載maven的包,能夠選擇下載:apache-maven-3.2.1-bin.zipdom

  二、解壓下載的文件到電腦硬盤的某個目錄,好比D:\Program Files\webapp

  三、而後在環境變量中配置MAVEN_HOME=D:\Program Files\apache-maven-3.2.1-binmaven

  四、在path中添加%MAVEN_HOME%\bin;ide

完成以上步驟,在運行 cmd 中 輸入 mvn -version出現以下:工具

安裝成功。ui

若是須要指定本地倉庫的位置進入安裝目錄,config打開setting.xml設置

<localRepository>D:\Repositories\Maven</localRepository>

注意:在使用ecplise時注意配置Windows->Perferences->User Settings 中User Settings選擇以上的setting.xml

maven的安裝於配置已經完成了,須要瞭解更多的maven基礎資料能夠訪問以下:

http://maven.apache.org/guides/index.html

http://maven.apache.org/pom.html

二、maven建立多模塊項目

在開發web項目時,通常分爲domain(領域對象)、persist(持久化)、service(業務)、web(web交互)四個模塊。在有的項目中還按照不一樣的業務進行劃分幾個模塊,每一個模塊包含這幾個模塊。

使用maven建立多模塊項目步驟以下(以一個blogs爲名字的項目爲例):

一、建立blogs-root,用於各個模塊集成。

(1)、進入命令行,輸入以下:

mvn archetype:create -DgroupId=org.yywang -DartifactId=blogs-root -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveModel=false

在當前目錄下,建立了一個blogs-root的目錄,進入blogs-root有兩個文件,src、pom.xml文件。

刪除src文件。

(2)、修改pom文件

修改pom文件中的 <packaging>jar</packaging>爲 <packaging>pom</packaging>

修改後的pom文件內容以下:

<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>org.yywang</groupId>
  <artifactId>blogs-root</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>blogs-root</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

二、建立blogs-domain,領域模型模塊

(1)、進入blogs-root,進入命令行,輸入

mvn archetype:create -DgroupId=org.yywang -DartifactId=blogs-domain -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveModel=false

 在blogs-root目錄下建立了blogs-domain目錄。

在blogs-root目錄下pom文件中增長了一個模塊

  <modules>
    <module>blogs-domain</module>
  </modules>

 (2)、修改blogs-domain下的pom文件

刪除 <groupId>org.yywang</groupId>和<version>1.0-SNAPSHOT</version>,添加<packaging>jar</packaging>。

修改後的pom文件以下:

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.yywang</groupId>
    <artifactId>blogs-root</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <artifactId>blogs-domain</artifactId>
  <packaging>jar</packaging>
  <name>blogs-domain</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

 三、建立blogs-persist,持久化模塊

(1)、在blogs-root目錄,進入命令行,輸入

mvn archetype:create -DgroupId=org.yywang -DartifactId=blogs-persist -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveModel=false

  在blogs-root目錄下,增長了blogs-persist目錄。

  在blogs-root目錄下的pom文件,modules節點下多了<module>blogs-persist</module>

(2)、修改blogs-persist目錄下的pom文件增長blogs-domain的依賴,修改成以下:

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.yywang</groupId>
    <artifactId>blogs-root</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <artifactId>blogs-persist</artifactId>
  <packaging>jar</packaging>
  <name>blogs-persist</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.yywang</groupId>
      <artifactId>blogs-domain</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

 三、建立blogs-service,業務模塊

(1)、在blogs-root目錄,進入命令行,輸入

mvn archetype:create -DgroupId=org.yywang -DartifactId=blogs-service -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveModel=false

  在blogs-root目錄下,增長了blogs-service目錄。

  在blogs-root目錄下的pom文件,modules節點下多了<module>blogs-service</module>

(2)、修改blogs-service目錄下的pom文件增長blogs-persist的依賴,修改成以下:

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.yywang</groupId>
    <artifactId>blogs-root</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <artifactId>blogs-service</artifactId>
  <packaging>jar</packaging>
  <name>blogs-service</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.yywang</groupId>
      <artifactId>blogs-persist</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

  四、建立blogs-web,web交互模塊

  (1)、在blogs-root目錄,進入命令行,輸入

mvn archetype:create -DgroupId=org.yywang -DartifactId=blogs-web -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveModel=false

  在blogs-root目錄下,增長了blogs-web目錄。

  在blogs-root目錄下的pom文件,modules節點下多了<module>blogs-web</module>

 (2)、修改blogs-web目錄下的pom文件增長blogs-service的依賴,修改成以下:

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.yywang</groupId>
    <artifactId>blogs-root</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <artifactId>blogs-web</artifactId>
  <packaging>war</packaging>
  <name>blogs-web Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>org.yywang</groupId>
      <artifactId>blogs-service</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>blogs-web</finalName>
  </build>
</project>

完成全部模塊的建立後,blogs-root目錄下的pom文件以下:

<?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>org.yywang</groupId>
  <artifactId>blogs-root</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <name>blogs-root</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <modules>
    <module>blogs-domain</module>
    <module>blogs-persist</module>
    <module>blogs-service</module>
    <module>blogs-web</module>
  </modules>
</project>

這樣就完成了maven多模塊項目的建立。

相關文章
相關標籤/搜索