将一个Maven项目分为多个模块

原创 2015年07月07日 11:40:50

上次虽然成功运行,但是项目名上有红色错误,里面却没有。查看错误信息是jax-rs 2.0 can not be installed,需要jdk1.7以上支持。然而手动更换jdk之后再update仍然回到J2SE-1.5,所以需要修改配置。在pom.xml中添加

<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-compiler-plugin</artifactId>  
     <configuration>  
        <source>1.7</source>
        <target>1.7</target>  
    </configuration>  
</plugin>  

再update即可看到java类库换为javaSE-1.7,错误消失。

用Maven成功完成简单的项目后,接下来就可以考虑分割项目模块了。多模块有利于实现设计模式里的高内聚,低耦合概念,特别是便于大型项目的开发与管理。以下以上次做的简单项目为基础,将之分割为多个模块。

先从MyEclipse中移除该项目,避免出错。找到workspace下的该项目目录,点开会发现该目录下有文件夹src和pom.xml。一些MyEclipse生成的文件可以删除,创建一个文件夹modules,专门存放分开的模块。创建4个子文件夹:helloMaven-parent,helloMaven-entity,helloMaven-core,helloMaven-web,将src文件夹和pom.xml复制到4个文件夹里,删除原来根目录下的src文件夹。在根目录下的pom.xml中<project>中添加如下代码:

<modules>
    <module>modules/helloMaven-parent</module>
    <module>modules/helloMaven-entity</module>
    <module>modules/helloMaven-core</module>
    <module>modules/helloMaven-web</module>
  </modules>

注释掉<dependencies>和<build>部分代码,并且将<packageing>改为pom(重点!)。接下来分别部署子模块的pom.xml

将helloMaven-parent的打包类型<packaging>改为pom,helloMaven-core的改为jar,helloMaven-entity的改为jar,helloMaven-web的保持为war。在core(helloMaven-core,下同)的pom中<moduleVersion></moduleVersion>后面添加

<parent>
      <groupId>org.zachary</groupId>
      <artifactId>helloMaven-parent</artifactId>
      <version>1.0</version>
      <relativePath></relativePath>
  </parent>
  将该代码同样放入entity和web的pom里。将core的<artifactId>项改为helloMaven-core,以此类推,分别修改entity,parent,web的pom中<artifactId>的值。从MyEclipse中导入该项目



下面的working set可选,方便查看项目。但是导入项目后并没有类似的效果,所以感觉时parent配置可能有问题,这几天多看下相关文档,尽快解决。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Maven项目多模块拆分

使用Java技术开发的
  • liupin_2011
  • liupin_2011
  • 2014年10月12日 14:32
  • 6105

MAVEN创建多模块项目(水平与树形结构)

很久没有写过博客了,很多东西都在笔记里面,没有整理过。不太喜欢写没有经过自己消化和整理的知识,如果自己都没有搞明白,那还是不要写的好,免得误导其他同学。 这次写的内容主要就是使用MAVEN创建多模块的...
  • u012909091
  • u012909091
  • 2016年11月01日 23:09
  • 3757

Maven工程聚合,多个Java工程、web工程聚合

最近写个自己的小项目,牵扯到maven工程聚合问题,网上看了大量资料研究了下,成功了,按照自己的理解简单粗暴的记录下。。。一、模块结构粗略画了个草图表示下现有模块之间的关系二、模块作用及配置文件 to...
  • qq_32588349
  • qq_32588349
  • 2016年07月17日 23:08
  • 14237

MyEclipse创建Maven多模块项目,webapp项目

本文中创建maven项目,不使用命令,完全用myeclipse实现,个人感觉这样新手更容易接受! 开发环境:myeclipse 8.6+maven(myeclipse自带插件) 可参考:http:/...
  • diweikang
  • diweikang
  • 2017年10月30日 18:14
  • 156

Maven学习总结(14)——Maven 多模块项目如何分工?

一、开场白 使用Maven有段时间了,只能感慨真是个好东西,让我从传统模式体会到了严谨、规范、敏捷、方便的特性。 如果你懂Maven或许看过Juven翻译的《Maven权威指南》;...
  • maguanghui_2012
  • maguanghui_2012
  • 2016年05月31日 12:49
  • 3163

idea中将多个spring boot项目放在一个maven项目中

现在的项目都开始用spring boot来构建了,用spring boot的最大好处就是默认我们什么都不用配置,就可以使用spring,而且可以独立启动,不需要web容器。现在的项目好多都是微服务的模...
  • lwj_199011
  • lwj_199011
  • 2017年01月05日 10:59
  • 5794

Maven最佳实践 划分模块 配置多模块项目 pom modules

“分天下为三十六郡,郡置守,尉,监” —— 《史记·秦始皇本纪》   所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块,m...
  • napoleonjk
  • napoleonjk
  • 2014年04月30日 16:17
  • 8138

使用Maven为一个项目生成多个Jar包,将一个目录打成jar包

今天又学了一招使用Maven为一个项目生成多个Jar包,或者说将某一个目录打成一个jar包。 原文地址 虽然在Java平台下,各种构建工具如Maven、Gradle、SBT已经得到了较为广泛地运用...
  • tiantiandjava
  • tiantiandjava
  • 2015年03月17日 17:10
  • 17032

如何使用IntelliJ Idea创建一个分模块Maven+Web项目

所谓多层Maven项目,就是整个Project是Maven构建的,然后里面每个module也是Maven构建的。module的Maven会继承Project的Maven。       下面我就来演示一...
  • qj30212
  • qj30212
  • 2016年09月02日 23:58
  • 4100

46、Maven创建多模块项目(多个war,2017版Eclipse Neon.2)

运行环境: 2017年3月 Eclipse Neon.2 Apache Maven 3.3.9 jdk1.8 注意,此文跟网上所有的创建maven项目有所不同, 就是都会勾选 c...
  • leaderrida
  • leaderrida
  • 2017年03月05日 18:11
  • 751
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将一个Maven项目分为多个模块
举报原因:
原因补充:

(最多只允许输入30个字)