【建项目】eclipse maven建立多模块工程
在工作的时候,大多时候都是用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建立多模块工程的更多相关文章
- eclipse+maven+tomcat构建web工程
我们要利用Maven构建一个web应用,开发环境为eclipse+tomcat.构建过程如下: 1.工具准备 eclipse:版本为eclipse 4.2(Juno Service),maven插件的 ...
- eclipse maven 创建总POM 工程
首先进入到eclipse的workspace,我这里的workspace目录是D:\workspace 1.创建总的POM D:\workspace>mvn archetype:create - ...
- Maven 创建多模块工程
1. 创建父项目 new -->project-->maven-->maven Project,然后下一步, 进入new maven Project的Select project n ...
- 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 ...
- [Java] Maven 建立 Spring MVC 工程
GIT: https://github.com/yangyxd/Maven.SpringMVC.Web 1. 建立 WebApp 工程 下一步: 下一步: 选择 maven-archetype-web ...
- Java-Maven(五):Eclipse&Maven下创建java工程&web工程
本章文章主要学习集成了maven插件的eclipse下,创建java project和web project的步骤. 创建java工程 第一步:使用使用maven project来创建java pr ...
- eclipse——Maven插件创建java工程
目录结构如下 注意默认JDK为1.5 更改默认JDK 方式一 右键工程 选中JRE1.5 Remove 双击JRE System Library 点击Finish 更改完成 方式二 配置maven ...
- Maven 梳理 -多模块 vs 继承
Maven提高篇系列之(一)——多模块 vs 继承 这是一个Maven提高篇的系列,包含有以下文章: Maven提高篇系列之(一)——多模块 vs 继承 Maven提高篇系列之(二)——配置Plu ...
- Eclipse创建Maven多模块工程Module开发(图文教程)
自己研究了下Eclipse用Maven多模块工程Module开发,跟大家分享一下! 功能模块来分Module,跟java的package类似,一般是按照的功能模块分module,比如:sso/cas/ ...
随机推荐
- POJ1125-Stockbroker Grapevine Floyd算法多源最短路径
这题的思路还是比较简单,用弗洛伊德算法打表后,枚举来找到最小值 代码如下 注意最后判断时候的语句 在这里错误了很多次 # include<iostream> # include<al ...
- FZU 2082(过路费)
题目链接:传送门 题目大意:中文题,略 题目思路:树链剖分(注意要把边上的权值转移到深度较大的点上来维护) 最后当top[x]==top[y]注意id[x]+1因为是维护的点而题目是边 如果不+可能会 ...
- 解决Chrome关联Html文件图标显示为空白
用记事本保存为ChromeHTML.reg Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\CLSID\{42042206-2D85-1 ...
- 【git】------git的基本介绍及linux的基本命令------【巷子】
001.git简介 git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Benedict Torv ...
- 170801、VM性能调优
最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一记录. 一.JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老 ...
- Oracle等待事件之Latch Free
1.产生原因 表示某个锁存器上发生了竞争.首先应该确保已经提供了足够多的Latch 数,如果仍然发生这种等待事件,那么应该进一步确定是那种锁存器上发生了竞争(在v$session_wait 上的P2 ...
- Linux的操作系统I2C驱动架构解说
Linux的操作系统I2C驱动架构解说 发布时间:2006.10.16 04:52 来源:赛迪网技术社区 作者:LoneStar 最近因为工作需要涉及到了I2C总线.虽然我过去用过I2c,但看了 Li ...
- redis cluster 集群畅谈(三) 之 水平扩容、slave自动化迁移
上一篇http://www.cnblogs.com/qinyujie/p/9029522.html, 主要讲解 实验多master写入.读写分离.实验自动故障切换(高可用性),那么本篇我们就来聊了聊r ...
- 大话存储4——RAID磁盘阵列
RAID是英文Redundant Array of Independent Disks(独立磁盘冗余阵列),简称磁盘阵列.下面将各个级别的RAID介绍如下. RAID0 条带化(Stripe)存储.理 ...
- Spark Core(二)Driver上的Task的生成、分配、调度(转载)
1. 什么是Task? 在前面的章节里描述过几个角色,Driver(Client),Master,Worker(Executor),Driver会提交Application到Master进行Worke ...