文档章节

maven搭建多模块项目

双月通天
 双月通天
发布于 2017/07/24 19:11
字数 552
阅读 7
收藏 0
点赞 0
评论 0

一. 创建一个父项目

NEW -->project-->maven-->maven Project,点击下一步,进入new maven ProjectSelect project name and location界面,如下图所示:

直接下一步到Select an Archetype界面,如下图所示:

 



在这个界面中选择maven-Archetype-site-simple,然后选择下一步,进入选择Enter a group id for the artifact的界面,如下图所示:

group Idartifact Id中输入你的groupartifact名称。我用的分别是org.light4jmaven-parent,选择完成。这时会在Eclipse中生成一个项目,项目名是maven-parent,此时maven-parentpom.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.light4j</groupId>
  <artifactId>maven-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>

  <distributionManagement>
    <site>
      <id>website</id>
      <url>scp://webhost.company.com/www/website</url>
    </site>
  </distributionManagement>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
</project>

二. 创建子项目

2.1 将项目maven-parent中的src文件夹删除,只保留pom.xml(主要看个人需要,可有可无,不影响)。
2.2 选中项目maven-parent,点击右键,选择NEW -->project-->maven-->maven Module,如下图所示

点击下一步,在出现的界面中输入子模块的名称maven-A,如下图所示:

点击下一步,出现Select an Archetype界面。这时选择maven-Archetype-site-quickStart或者maven-Archetype-webapp(构建web层时使用),如下图所示:


然后选择Finish,即生成子项目maven-A
这时maven-parentpom.xml文件如下面所示(多了个modules标签和里面子标签的内容):

<?xml version="1.0" encoding="UTF-8"?>
<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.light4j</groupId>
  <artifactId>maven-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>

  <distributionManagement>
    <site>
      <id>website</id>
      <url>scp://webhost.company.com/www/website</url>
    </site>
  </distributionManagement>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <modules>
    <module>maven-A</module>
  </modules>
</project>

这时构建maven-parent的子项目完成,构建其他的子项目和此类似。在构建第二个子项目maven-B时可能在maven-parent中没有及时出现,这时只要刷新下maven-parent就可以了。

如果不是构建web项目,构建一般jar包项目,则选择如下

 

pom.xml文件详解比较好的文章

http://mojijs.com/2016/07/217454/index.html

继承讲解的毕竟好的

http://blog.csdn.net/wanghantong/article/details/36427411

© 著作权归作者所有

共有 人打赏支持
双月通天
粉丝 35
博文 166
码字总数 208088
作品 0
徐汇
程序员
Maven多模块项目介绍及搭建

对于大型WEB项目的开发一个很重要的部分就是代码的复用和维护管理。但是如果在搭建的时候采用多模块搭建,可以为之后的维护管理及复用提供便利。 接下来是在IntelliJ IDEA中的一个多模块项目...

战五渣 ⋅ 2016/06/13 ⋅ 11

maven 多模块开发,如何划分?请给指导性意见!!!

项目框架准备用 maven+SpringMVC+mybatis 搭建。 我看已经看过 有的人按照 dao service web util 这样划分, 还有的用 domain 里面是 数据模型(实体类)和 service以及 service iml。 将实体...

Hrong123 ⋅ 2015/02/02 ⋅ 5

maven搭建多模块企业级项目

首先,前面几次学习已经学会了安装maven,如何创建maven项目等,最近的学习,终于有点进展了,搭建一下企业级多模块项目。 好了,废话不多说,具体如下: 首先新建一个maven项目,pom.xml的文...

无信不立 ⋅ 2014/12/25 ⋅ 0

Maven多模块项目介绍和搭建

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

蛙牛 ⋅ 2014/12/09 ⋅ 35

IDEA下Maven多模块项目介绍和搭建

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

陶加涛 ⋅ 2016/03/19 ⋅ 0

Maven多模块布局实例详解

一、开场白 使用Maven有段时间了,只能感慨真是个好东西,让我从传统模式体会到了严谨、规范、敏捷、方便的特性。 如果你懂Maven或许看过Juven翻译的《Maven权威指南》; 发个牢骚:由于Mav...

凯文加内特 ⋅ 2015/05/08 ⋅ 2

mybatis 自定义枚举转换类

最近在搭建maven多模块项目: http://git.oschina.net/alexgaoyh/MutiModule-parent 项目整体代码部分在上文链接的git中,下面的代码段落只是部分个人觉得比较重要的段落 在选择持久化DAO部分...

alexgaoyh ⋅ 2015/04/15 ⋅ 0

springboot多模块项目下,子模块调用报错:程序包xxxxx不存在

今天在用springboot搭建多模块项目,结构中有一个父工程Parent 一个通用核心工程core 以及一个项目工程A 当我在工程A中引入core时,没有问题,maven install正常 当我在工程A中使用core的类时...

宇的季节 ⋅ 04/09 ⋅ 0

手写Maven的archetype项目脚手架

一、背景   maven是一个很好的代码构建工具,采用“约定优先于配置”的原则进行项目管理,相信很多的java开发者应该都了解maven并可能在工作当中都是通过maven来管理项目的,在创建的项目的...

hafiz.zhang ⋅ 2017/09/18 ⋅ 0

轻量级模块化开发框架 Hasor 核心模块 v0.0.2 发布

首先引用Wiki的介绍一下Hasor: “Hasor是一款开源框架。它是为了解决企业模块化开发中复杂性而创建的。Hasor遵循简单的依赖、单一职责,在开发多模块企业项目中更加有调理。然而Hasor的用途...

哈库纳 ⋅ 2013/09/29 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JPA入门,配置文件的设置

<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http......

码农屌丝 ⋅ 16分钟前 ⋅ 0

Java基础——面向对象和构造器

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 静态成员介绍 为什么要有静态成员?静态成员用来...

凯哥学堂 ⋅ 18分钟前 ⋅ 0

vmware中Centos 7 linux的LVM磁盘扩容

系统是RHEL7(centos7差不多一样) 关闭系统,在vmware、设置、硬盘、扩展、输入数字大于当前系统内存、点击扩展。 开机再查看磁盘信息 fdisk -l 注意:可以看出sda磁盘增加了,但是根目录还...

gugudu ⋅ 29分钟前 ⋅ 0

JAVA线程sleep和wait方法区别

昨天面试,突然被问到sleep 和 wait的区别,一下子有点蒙,在这里记一下,以示警戒。 首先说sleep,sleep就是正在执行的线程主动让出cpu,cpu去执行其他线程,在sleep指定的时间过去后,cpu...

徐玉强 ⋅ 31分钟前 ⋅ 0

vuex学习--模块

随着项目复杂性增加,共享状态也越来越多。需要对转态操作进行分组,分组后在进行分组编写。学习一下module:状态管理器的模块组操作。 首先是声明: const moduleA={ state,mutations,g...

大美琴 ⋅ 33分钟前 ⋅ 0

Selenium 简单入门

安装 pip install selenium 驱动下载 https://chromedriver.storage.googleapis.com/index.html 下载最新的驱动,放入path中,可以放入Python的scripts目录下,也可以放入Chrome安装目录,并...

阿豪boy ⋅ 34分钟前 ⋅ 0

292. Nim Game - LeetCode

Question 292. Nim Game Solution 思路:试着列举一下,就能发现一个n只要不是4的倍数,就能赢。 n 是否能赢1 true2 true3 true4 false 不论删除几,对方都能一把赢5 t...

yysue ⋅ 今天 ⋅ 0

6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩

zip压缩工具 zip命令可以压缩目录和文件,-r 压缩目录。 zip使用方法 zip 1.txt.zip 1.txt //压缩文件 zip -r 123.zip 123/ //压缩目录 unzip 1.txt.zip //解压 unzip 123.zip -d /root/456...

Linux_老吴 ⋅ 今天 ⋅ 0

react-loadable使用跳坑

官方给react-loadable的定义是: A higher order component for loading components with dynamic imports. 动态路由示例 withLoadable.js import React from 'react'import Loadable fro......

pengqinmm ⋅ 今天 ⋅ 0

记录工作中遇到的坑

1、ios safari浏览器向下滚动会触发window resize事件

端木遗风 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部