在工作的时候,大多时候都是用Maven来管理项目,可是一般我们都知道怎么用maven管理工程,却不知道通过Maven自己来建立多模块工程。于是自己抽时间,在网上找些资料,做了起来。

建立简单的Maven模块结构是这样的:

---- mv-parent

|-- pom.xml (pom)

|

|-- mv-xml

|        |-- pom.xml (jar)

|

|-- mv-lib

|        |-- pom.xml (jar)

|

|-- mv-core

|        |-- pom.xml (jar)

|

|-- mv-web

|-- pom.xml (war)

项目工程的依赖关系:mv-core依赖mv-lib,mv-xml;mv-web依赖 mv-lib,mv-xm,mv-core

建立整个项目的步骤如下:

1.建立mv-parent工程

new->other->maven->maven project。

注意选择 create a simple project

packaging 选择类型 pom .

建立完成后,得到项目:

得到 pom.xml

<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.com.dk</groupId>
  <artifactId>mv-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
</project>

2. 建立mv-lib工程.主要用来存放项目jar

new->other->maven->maven Module.

选择module工程

这个mv-lib工程完成,得到

pom.xml.我把 commons-lang.jar放进去,作为测试:

<?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>
        <artifactId>mv-parent</artifactId>
        <groupId>org.com.dk</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <groupId>org.com.dk</groupId>
    <artifactId>mv-lib</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mv-lib</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>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.4</version>
        </dependency>
    </dependencies>
</project>

3. 建立mv-xml工程.主要用来存放项目配置文件

new->other->maven->maven Module.

选择module工程

pom.xml:

<?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>
    <artifactId>mv-parent</artifactId>
    <groupId>org.com.dk</groupId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <groupId>org.com.dk</groupId>
  <artifactId>mv-xml</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>mv-xml</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>

4. 建立mv-core工程.主要用来存项目业务代码

new->other->maven->maven Module.

选择module工程

项目完成。不过要注意mv-core依赖mv-lib,mv-xml。这个需要在pom.xml配置( 标红 )

如下:

<?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>
        <artifactId>mv-parent</artifactId>
        <groupId>org.com.dk</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <groupId>org.com.dk</groupId>
    <artifactId>mv-core</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mv-core</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>
        <dependency>
            <groupId>org.com.dk</groupId>
            <artifactId>mv-lib</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.com.dk</groupId>
            <artifactId>mv-xml</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>
</project>

5. 建立mv-web工程.主要用来项目web

建立web工程,可见我的

http://dk05408.iteye.com/blog/2100525 这个比较详细

new->other->maven->maven Module.

选择module工程

这一步的选择比较重要:catalog:Internal,下面选择 maven-archetype-webapp.如图:

项目建立后:  右击项目,点击Properties->Project Facets

得到web工程,得到如图:

mv-web依赖mv-lib,mv-xml,mv-core。

pom.xml:

<?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>
        <artifactId>mv-parent</artifactId>
        <groupId>org.com.dk</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <groupId>org.com.dk</groupId>
    <artifactId>mv-web</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>mv-web Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.com.dk</groupId>
            <artifactId>mv-lib</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.com.dk</groupId>
            <artifactId>mv-xml</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.com.dk</groupId>
            <artifactId>mv-core</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>mv-web</finalName>
    </build>
</project>

整个工程完成了

最后可以看下mv-parent里的pom.xml:

<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.com.dk</groupId>
  <artifactId>mv-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <modules>
      <module>mv-lib</module>
      <module>mv-xml</module>
      <module>mv-core</module>
      <module>mv-web</module>
  </modules>
</project>

你就可以看到mv-parent下面有4个Module。

对 mv-parent进行run-as clean  install。

看到的部分日志:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
There are no tests to run.

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO]
[INFO] --- maven-war-plugin:2.1.1:war (default-war) @ mv-web ---
[INFO] Packaging webapp
[INFO] Assembling webapp [mv-web] in [F:\java\workspace\mv-parent\mv-web\target\mv-web]
[INFO] Processing war project
[INFO] Copying webapp resources [F:\java\workspace\mv-parent\mv-web\src\main\webapp]
[INFO] Webapp assembled in [200 msecs]
[INFO] Building war: F:\java\workspace\mv-parent\mv-web\target\mv-web.war
[WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored
(webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true')
[INFO]
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ mv-web ---
[INFO] Installing F:\java\workspace\mv-parent\mv-web\target\mv-web.war to C:\Users\dk\.m2\repository\org\com\dk\mv-web\0.0.1-SNAPSHOT\mv-web-0.0.1-SNAPSHOT.war
[INFO] Installing F:\java\workspace\mv-parent\mv-web\pom.xml to C:\Users\dk\.m2\repository\org\com\dk\mv-web\0.0.1-SNAPSHOT\mv-web-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] mv-parent ......................................... SUCCESS [0.273s]
[INFO] mv-lib ............................................ SUCCESS [1.860s]
[INFO] mv-xml ............................................ SUCCESS [1.017s]
[INFO] mv-core ........................................... SUCCESS [0.986s]
[INFO] mv-web Maven Webapp ............................... SUCCESS [1.665s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.944s
[INFO] Finished at: Sat Aug 09 11:56:38 CST 2014
[INFO] Final Memory: 12M/32M
[INFO] ------------------------------------------------------------------------

可以得到最后的工程

mv-parent工程

mv-web工程:

项目完成。

这样后面你就可以向里面添加jar,xml等,就可以丰富你的工程。

【建项目】eclipse maven建立多模块工程的更多相关文章

  1. eclipse+maven+tomcat构建web工程

    我们要利用Maven构建一个web应用,开发环境为eclipse+tomcat.构建过程如下: 1.工具准备 eclipse:版本为eclipse 4.2(Juno Service),maven插件的 ...

  2. eclipse maven 创建总POM 工程

    首先进入到eclipse的workspace,我这里的workspace目录是D:\workspace 1.创建总的POM D:\workspace>mvn archetype:create - ...

  3. Maven 创建多模块工程

    1. 创建父项目 new -->project-->maven-->maven Project,然后下一步, 进入new maven Project的Select project n ...

  4. eclipse通过maven建立java se工程配置log4j,打包成zip,将jar包和配置文件分开,并以bat和sh文件启动java程序

    一.新建maven的java工程 1.eclipse里file-new-other,选择maven Project 2.选中 Use default Workspace location,然后 nex ...

  5. [Java] Maven 建立 Spring MVC 工程

    GIT: https://github.com/yangyxd/Maven.SpringMVC.Web 1. 建立 WebApp 工程 下一步: 下一步: 选择 maven-archetype-web ...

  6. Java-Maven(五):Eclipse&Maven下创建java工程&web工程

    本章文章主要学习集成了maven插件的eclipse下,创建java project和web project的步骤. 创建java工程  第一步:使用使用maven project来创建java pr ...

  7. eclipse——Maven插件创建java工程

    目录结构如下 注意默认JDK为1.5 更改默认JDK  方式一 右键工程 选中JRE1.5 Remove 双击JRE System Library 点击Finish 更改完成 方式二 配置maven ...

  8. Maven 梳理 -多模块 vs 继承

    Maven提高篇系列之(一)——多模块 vs 继承   这是一个Maven提高篇的系列,包含有以下文章: Maven提高篇系列之(一)——多模块 vs 继承 Maven提高篇系列之(二)——配置Plu ...

  9. Eclipse创建Maven多模块工程Module开发(图文教程)

    自己研究了下Eclipse用Maven多模块工程Module开发,跟大家分享一下! 功能模块来分Module,跟java的package类似,一般是按照的功能模块分module,比如:sso/cas/ ...

随机推荐

  1. 判断手机访问还是pc访问

    function isMobile(){ // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) re ...

  2. 【git】------git的基本介绍及linux的基本命令------【巷子】

    001.git简介 git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Benedict Torv ...

  3. 170802、Elasticsearch5.2.2 安装问题记录

    使用Elasticsearch5.2.2 必须安装jdk1.8 [elsearch@vm-mysteel-dc-search01 bin]$ java -version java version &q ...

  4. 公民身份号码校验码算法(C#版)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. SaltStack配置管理-jinja模板

    上一篇:SaltStack配置管理-状态间关系 需求:需要apache配置文件里面监听的端口是每个minion本地的地址 saltstack默认的模板是jinjia模板 参考文档:http://doc ...

  6. opencv学习笔记——FileStorage类的数据存取操作

    OpenCV的许多应用都需要使用数据的存储于读取,例如经过3D校准后的相机,需要存储校准结果矩阵,以方便下次调用该数据:基于机器学习的应用,同样需要将学习得到的参数保存等.OpenCV通过XML/YA ...

  7. ubuntu下完全卸载opencv3.1.0

    在ubuntu下删除opencv需要以下步骤: 1.进入opencv的源代码文件夹下的release(这是你在安装opencv时候自己命名的,cmake时候所在的目录) 2.执行以下命令 sudo m ...

  8. StartUML-类图

  9. php5.6 的curl开启和之前的不太一样了,搞了半天,记录下

    设置电脑环境变量中的->系统变量(注:不是用户变量) 新建 PHP_HOME 值 D:\php /PHP 根目录 Path 增加 ;%PHP_HOME%;%PHP_HOME%\ext       ...

  10. Django - 项目总结

    总结: 基础,进阶,项目 Django - 练习(图书管理系统) 前后端分离得项目: vue + rest framework 项目: 图书增删改查页面 BBS + BLOG系统 CRM系统   在线 ...