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,事实上这个也是能够打包的,点击它后控制台的信息例如以下:

  1. [INFO] Building war: F:\wangpeng\MyR\projects\test\test_web\target\test_web.war
  2. [INFO] WEB-INF\web.xml already added, skipping
  3. [INFO]
  4. [INFO] --- maven-install-plugin:2.4:install (default-install) @ test_web ---
  5. [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
  6. [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
  7. [INFO] ------------------------------------------------------------------------
  8. [INFO] Reactor Summary:
  9. [INFO]
  10. [INFO] test .............................................. SUCCESS [ 0.429 s]
  11. [INFO] test_module ....................................... SUCCESS [ 1.119 s]
  12. [INFO] test_web Maven Webapp ............................. SUCCESS [ 0.491 s]
  13. [INFO] ------------------------------------------------------------------------
  14. [INFO] BUILD SUCCESS
  15. [INFO] ------------------------------------------------------------------------
  16. [INFO] Total time: 2.154 s
  17. [INFO] Finished at: 2015-08-13T17:31:22+08:00
  18. [INFO] Final Memory: 11M/153M
  19. [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. MFC_VS清理器

    VS清理器 界面 工程目录 列表控件ID改名IDC_FILELIST 绑定变量m_FileList 属性设置Accept Files 设置True 成员添加 // 用于保存待遍历的目录 vector& ...

  2. WM

    #define WM_NULL 0x0000 #define WM_CREATE 0x0001 #define WM_DESTROY 0x0002 #define WM_MOVE 0x0003 #de ...

  3. 循环冗余校验(CRC)算法入门

    http://blog.csdn.net/liyuanbhu/article/details/7882789 前言 CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式.在嵌入式软件开发中,经常要 ...

  4. vue中的main.js打开直接报错问题解决

    安装好后也是报这样的错,是因为WebStorm默认使用的是ES5的语法,改成ES6就可以了.   解决方案:    

  5. 03CSS内容背景

    CSS内容背景 设置背景颜色——background-color  插入背景图片——background-image  设置背景图片位置——background-position 设置重复背景图片—— ...

  6. mitmproxy 数据抓包

    1.安装环境: 基于python windows操作系统需要安装Microsoft Visual C++ V14.0以上 linux操作系统则直接基于python安装即可 2.安装mitmproxy ...

  7. 【原】简单shell练习(三)

    1.软链 linux下的软链接类似于windows下的快捷方式 # ln -s /home/gamestat /gamestat  ln -s a b  中的 a 就是源文件(已经存在的文件),b是链 ...

  8. MySql索引笔记

    MySQL 索引是什么 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和 ...

  9. c++基础_矩阵乘法

    #include <iostream> using namespace std; int main(){ int a,b; cin>>a>>b; long c[a] ...

  10. 闲着无聊 一个python的,三级菜单。装逼版。

    menu = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'google': {} }, '中关村': { '爱奇艺': {}, '汽车之家': ...