文档章节

maven多模块项目,多web合并项目使用心得

27号
 27号
发布于 2015/07/14 08:11
字数 744
阅读 330
收藏 2

关于多模块的文章,网上有很多,也都很详细,这里不再多说。

       maven多web合并项目

        多web项目合并,主要是我在网上找到的资料都不是我最终想要的效果,所以这里就介绍下我最终使用的方案,网上有很多方案都是介绍用caro插件,我到现在也不明白为什么要使用这个插件。

        maven的多web模块maven-war-plugin插件的overlays属性来处理,最终主web项目pom.xml代码如下

<build>  
    <finalName>bpmcenter</finalName>  
    <plugins>  
      <!-- 合并多个war -->  
      <plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-war-plugin</artifactId>  
        <configuration>  
          <packagingExcludes>WEB-INF/web.xml</packagingExcludes>	
          <overlays>  
            <overlay>  
              <groupId>com.founder.fix.fixflow</groupId>  
              <artifactId>fixflow-webapp-taskcenter</artifactId>  
            </overlay>   
          </overlays>  
        </configuration>  
      </plugin>  
    </plugins> 
</build>



 这里使用到了maven-war-plugin,用overlay属性已经足够将多web合并了,只是用的过程中需要注意以下几点:

  1. 被合并的子web项目packaging属性必须是war
  2. 被合并的子web项目,必须在主项目中添加依赖关系。
  3. 被合并的子web项目中,如果没有web.xml,则需要在pom.xml中声明
<build>
  <finalName>fixflow-webapp-editor</finalName>
    <plugins>  
      <plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-war-plugin</artifactId>  
        <configuration>  
          <failOnMissingWebXml>false</failOnMissingWebXml>  
        </configuration>  
      </plugin>	 
    </plugins>  
</build>



做完以上几点,多web项目合并就基本上做完了,运行mvn install就会发现打出的war包中已经存在了其他子模块的项目。

       多web项目在eclipse+tomcat环境下部署调试

        在eclipse里面使用,其实更简单,只是网上的说法太复杂了而已,对于习惯了tomcat开发的用户来说。

        对于maven项目,一个环境到另一个环境应该只有pom.xml文件和src文件夹就够了,其他都是用户根据自己的环境来做的。

  1. 打开eclipse,修改本地maven仓库地址,导入maven项目,等待构建结束。
  2. 创建server,打开window-prefrences-server-runTime Environment-new ....选择tomcat路径,jdk信息,这一步和原来完全一样。
  3. 打开server视图,new server,这里选中刚才创建的tomcat,点击next,这步只需要主web项目添加进来即可。
  4. 双击创建的server,选择将项目发布到tomcat的webapps目录下,点击pushlish,完成。

       再去tomcat目录,发现已经将合并后的web发布到对应目录下了。 引用的其他Java项目已经被打包成jar发布到lib下了,不过你可以打个断点试试,依然可以调试,修改一段代码,发现热部署也是可以的,这样就和原来的开发习惯完全一样了。

        细心的用户会发现,其实这完全和我们原来的构建,部署方式完全一样,是的,maven没有那么复杂,m2eclipse maven plugin已经帮我们做好了太多的事情,maven只会让我们项目之间的迁移更方便,更简洁,这也是我喜欢上maven的重要原因。


另一个参考地址:http://depravedangel.iteye.com/blog/1450964

本文转载自:http://yang-ch.iteye.com/blog/2033526

共有 人打赏支持
27号
粉丝 31
博文 43
码字总数 7052
作品 0
长春
技术主管
私信 提问
创建支持eclipse的多模块maven项目

---title: "[创建支持eclipse的多模块maven项目]" date: 2013-07-19 17:46 创建支持eclipse的多模块maven项目 通过maven可以创建多个关联模块的项目(Multiple Module Projects)。由一个总的...

rkikbs
2013/08/08
0
0
MyEclipse的多模块Maven web(ssm框架整合)

  Maven的多模块可以让项目结构更明确,提高功能的内聚,降低项目的耦合度,真正的体现出分层这一概念。   我们在操作中,要明白为什么这样做,要了解到更深的层次,这样,我们就不限于个...

左羽
2018/04/08
0
0
从svn上检出威尼斯人网站开发多模块maven项目

一、SVN上Maven多威尼斯人网站开发模块项目结构 haozbbs.com Q1446595067 使用eclipse导入SVN上的Maven多模块项目 Maven多模块项目所在SVN目录 二、eclipse通过SVN导入到工作空间 工作空间位...

xmvn
2018/07/09
0
0
IDEA下Maven多模块项目介绍和搭建

1Maven多模块项目介绍 为了便于演示和表达,在intellij中建了小项目进行举例,如下图所示 其中web-m2模块,依赖于common-utils, common-utils依赖于common-third,如下图所示 web-m1模块 依...

陶加涛
2016/03/19
6.5K
0
maven安装与创建多模块项目

maven是一个比较流行的项目管理工具,在最近参与的项目中,也使用了maven,本文主要对在项目中的使用做一个总结,主要涉及maven的安装于配置、maven创建多模块项目。 1、maven安装与配置 ma...

wangyan9110
2014/04/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

再谈使用开源软件搭建数据分析平台

三年前,我写了这篇博客使用开源软件快速搭建数据分析平台, 当时收到了许多的反馈,有50个点赞和300+的收藏。到现在我还能收到一些关于dataplay2的问题。在过去的三年,开源社区和新技术的发...

naughty
今天
3
0
C++网络编程(一)gRPC的编译

Google是真滴烦,整个编译链全是自家产品,在编译之前先来安装一堆东西 安装环境依赖 chocolatey Windows下的包管理系统,没有他就慢慢去下载下面的一堆乱七八糟的东西吧。CMD下执行下面这句...

Pulsar-V
今天
3
0
Python3的日期和时间

python 中处理日期时间数据通常使用datetime和time库 因为这两个库中的一些功能有些重复,所以,首先我们来比较一下这两个库的区别,这可以帮助我们在适当的情况下时候合适的库。 在Python文...

编程老陆
今天
2
0
分布式面试整理

并发和并行 并行是两个任务同时进行,而并发呢,则是一会做一个任务一会又切换做另一个任务。 临界区 临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用,但是每一次,只能有...

群星纪元
今天
3
0
手机通过wifi遥控arduino

手机下载Blinker 从Blinker官网下载手机App,安装到手机。 手机连接WiFi。 点击我的设备右上角的"+"添加设备,选择Arduino -> wifi接入,复制密钥以备后续使用。 点击新建的设备,可以在新界...

davidwbnu
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部