maven的最大的特点之中的一个就是能够把项目模块化。

前面的一篇文章MAVEN创建并打包web项目已经创建了一个简单的webapp,注意这个webapp的打包方式是war。

假设如今又要划分出来一个模块,而webapp依赖这个新划分的模块。应该怎么做呢,磨叽!

首先创建一个maven module。它的parent是test。不能是其它的,由于仅仅有test的打包方式是pom。例如以下图所看到的:

模块test_module的打包方式选择jar,可是虽然已经选择了,在自己主动生成的test_module/pom.xml中打包方式依旧没指明,须要手动加入,例如以下图所看到的:

以下须要把test_module作为test_web的依赖。操作例如以下:

操作完毕后例如以下图,如今新的模块已经加入完毕了。

MAVEN创建并打包web项目中的打包方式是用命令行,显然比較麻烦。那么我们能够使用eclipse来打包。

依照上图选择maven build,会进入下图所看到的goals设置界面,把之前运行的mvn  clean package命令输入就能够了。

再次点击之前点击的maven build控制台就開始运作了:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

细心的人会发现有个maven install,事实上这个也是能够打包的,点击它后控制台的信息例如以下:

[INFO] Building war: F:\wangpeng\MyR\projects\test\test_web\target\test_web.war
[INFO] WEB-INF\web.xml already added, skipping
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ test_web ---
[INFO] Installing F:\wangpeng\MyR\projects\test\test_web\target\test_web.war to C:\Users\wangpeng\.m2\repository\com\wangpeng\testmaven\test_web\0.0.1-SNAPSHOT\test_web-0.0.1-SNAPSHOT.war
[INFO] Installing F:\wangpeng\MyR\projects\test\test_web\pom.xml to C:\Users\wangpeng\.m2\repository\com\wangpeng\testmaven\test_web\0.0.1-SNAPSHOT\test_web-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] test .............................................. SUCCESS [ 0.429 s]
[INFO] test_module ....................................... SUCCESS [ 1.119 s]
[INFO] test_web Maven Webapp ............................. SUCCESS [ 0.491 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.154 s
[INFO] Finished at: 2015-08-13T17:31:22+08:00
[INFO] Final Memory: 11M/153M
[INFO] ------------------------------------------------------------------------

注意Installing那一行。说明此命令不仅是打包。他会把打好的包拷贝到本地仓库。看一下我的仓库:

打开那个war包。进入WEB-INF/lib,你会发现test_module已经打包成jar作为war的一部分了。

MAVEN项目模块化的更多相关文章

  1. 图解Eclipse或者SpringSource Tool Suite 创建模块化Maven项目

    第一步:Package Explorer里选择右键,新建Maven项目,如果没有在Other里找,还没有确认一下是否安装了Maven插件 第二步:在Wizards向导里可以通过搜索,找到Maven P ...

  2. 基于maven的javaweb项目模块化开发

    转自:https://my.oschina.net/kingfire/blog/273381 基于maven的javaweb项目模块化开发 引言 考虑团队拥有多个类似项目的情况,比如一些功能差异不大的 ...

  3. springmvc+spring+mybatis+maven项目集成shiro进行用户权限控制【转】

    项目结构:   1.maven项目的pom中引入shiro所需的jar包依赖关系 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...

  4. maven工程模块化

    前言 项目的模块化有利于任务分工,后期维护,易扩展,模块还可以独立成服务单独部署等: 创建packaging类型为POM的父项目 我用的maven插件是m2e,相信大部分人在eclipse装的也是m2 ...

  5. 用eclipse创建maven项目

    Maven是基于项目对象模型(POM),也可以进行模块化开发.并且是个强大的管理工具.本经验用eclipse来创建maven项目 步骤: 1.下载并正确安装eclipse 2.在eclipse上成功安 ...

  6. Android项目模块化/组件化开发(非原创)

    文章大纲 一.项目模块化初步介绍二.项目模块化的两种模式与比较三.大型项目模块化的演进四.项目模块化总结五.参考文章   一.项目模块化初步介绍 1. 前言 在Android开发中,随着项目的不断扩展 ...

  7. MAVEN学习-第一个Maven项目的构建

    MAVEN安装成功之后就可以进行项目的构建和管理了: 为什么要用maven进行项目的构建和管理? 对于初学者来说一个最直接的也是最容易里的优点在于JAR包的管理,相对于以前开发一个项目的时候我们需要用 ...

  8. 创建maven项目(cmd 命令)

    2016五月 22 原 创建maven项目(cmd 命令) 分类:maven (994) (0) 1.普通方式创建 1)进入cmd窗口执行 mvn archetype:generate 2) 光标停止 ...

  9. (八)Eclipse创建Maven项目运行mvn命令

    1.Eclipse创建Maven项目 使用Eclipse创建一个Maven项目非常的简单,选择菜单项File>New>Other(也可以在项目结构空白处右击鼠标键),在弹出的对话框中选择M ...

随机推荐

  1. zookeeper、consul 实现注册中心

    1.Zookeeper 分布式协调工具,可以实现注册中心 所有实现方式基本一致,只需要先开启zookeeper的服务端,然后再打开客户端jar包即可. Zookeeper一开始连接失败,后面又可以了, ...

  2. biff - 新到邮件提醒

    总览 (SYNOPSIS) biff [ny ] 描述 (DESCRIPTION) Biff 通知系统在当前终端会话期间有新邮件是否提醒你. 支持的选项有 biff n 禁止新邮件提醒. y 开启新邮 ...

  3. MFC中调用Windows API函数的方式

    windows aoi 函数的调用前面加::

  4. Java B

    3.继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? 答:父类: package test; public class FatherClass { public FatherClass( ...

  5. 2D热力图实例

    <div style="height: 100px; width: 200px" id="heatmap"></div> <scr ...

  6. mysql崩溃恢复

    mysql进程崩溃. 杀掉所有mysql进程,在my.cnf文件中写入innodb_recover_force=1,强制并忽略任何错误启动数据库. 用mysqldump导出所有数据,在新机器上部署好m ...

  7. django+uwsgi+nginx部署(非常详细)

    django+uwsgi+nginx部署 1.介绍: 在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑. 2.环境: Ubuntu 16.04.1 LTS (GNU/Linu ...

  8. 输出一定范围unicode对应符号

    #本程序没有考虑对0x的处理,请勿输入,直接输入16进制位即可 begin = input("起始点:") end = input("结束点:") b_int0 ...

  9. LeetCode1---两数之和

    import java.util.Arrays;import java.util.HashMap;import java.util.Map; /** *功能描述 :两数之和 * @author lkr ...

  10. 83-MACD 移动平均汇总/分离指标.(2015.7.3)

    MACD 移动平均汇总/分离指标 ~计算: · EMA(12,t)=EMA(12,t-1) * 11/13 + Close * 2/13 · EMA(26,t)=EMA(26,t-1) * 25/27 ...