一、父子-聚合项目

通过 maven 可以创建父子-聚合项目。 所谓的父子项目,即有一个父项目,有多个子项目。
这些子项目,在业务逻辑上,都归纳在这个父项目下,并且一般来说,都会有重复的jar包共享。
所以常用的做法会把重复的 jar 包都放在父项目下进行依赖,那么子项目就无需再去依赖这些重复的 jar 包了。

二、创建父项目(eclipse)

  • 菜单->File->New->Other->maven-Maven Project->Next
  • 选择 Create a simple project. 这一步不是必须,只是简单一点。然后点击Next
  • 输入参数,主要是项目名称: parentMavenProject(Artifact Id), 然后点击 Next
  • 修改pom,主要两点:
    • 默认是 jar, 修改为pom。 这样才可以作为父项目存在:<packaging>pom</packaging>
    • 增加jar 包的依赖,用于后来子项目里观察对其的调用。
  • 修改 pom.xml 之后, 右键点击项目 -> Maven -> Update Project -> OK 进行更新。 否则项目会有红点。

三、创建子项目(eclipse)

maven 子项目有叫做模块 module。
为了能够在 parentMavenProject 的基础上创建其子项目,首先右键点击 parentMavenProject, 然后点击 New -> Other -> Maven -Maven Module -> Next

(1) 和父项目一样,这里也勾选 Create a simple project ( 非必须 ),然后点 Next

(2) 输入参数,点击Finish

子项目的pom.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>
<parent>
<groupId>cn.how2j</groupId>
<artifactId>parentMavenProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>childMavenProject</artifactId>
<name>childMavenProject</name>
<description>childMavenProject</description>
</project>

父项目多了:

<modules>
<module>childMavenProject</module>
</modules>

特别注意:Maven转化为Dynamic Web Module

如今Maven仍然是最常用的项目管理工具,若要将Java Web项目使用Maven进行管理,则首先需要新建Maven项目,然后将其转化为web项目。

在项目右键选择properties,然后点击左侧Project Facets,勾选Dynamic Web Module,点击Apply-->OK即可。理想情况应该可以在项目下出现WebContent目录。如果没有的话,首先回到Project Facets界面,将Dynamic Web Module取消勾选,点击Apply。然后重新勾选,下方会出现“further configuration available”的链接,点击进入,勾选生成web.xml文件即可。

WebContent生成之后将其下两个文件夹剪切到src/main/webapp下,将WebContent删除。

右击项目,选择 properties,选择Deployment Assembly。选择WebContent,并将它remove掉。接着重新指定一个web路径,点击Add,选择Folder,点击Next。在src/main下找到webapp目录,点击Finish。继续点击Add,选择Java Build Path Entries。将当前build path指向Maven Dependency。点击Apply和OK。

四、设置父子项目的层级结构(eclipse)

第一步:window-->show view --> project explorer
第二步:小三角---> projects presentation----->hierarchical

创建maven父子项目(九)的更多相关文章

  1. Eclipse创建Maven父子项目

    Eclipse创建Maven父子项目 - 木头若愚 - CSDN博客https://blog.csdn.net/jay_1989/article/details/53906995 创建maven项目是 ...

  2. 创建Maven父子项目以及它们的优点

    此文引用:https://blog.csdn.net/zxl8876/article/details/104180133 创建maven父子项目 第一步创建父项目: 新建一个普通的maven项目 删除 ...

  3. 二创建maven父子项目

    关于maven中的parent聚合一直都有没好好总结,固有这篇. ------------------------------------------------------------------- ...

  4. eclipse创建Maven父子结构Maven项目

    1.创建聚合模块 选择菜单项 File—>New—>Other,在弹出的对话框中选择Maven下的Maven Project,然后单击Next按钮,在弹出的New Maven Projec ...

  5. 创建maven父项目以及子项目

    创建maven父项目以及子项目(Eclipse创建Maven Project跟Maven Module)https://blog.csdn.net/Mrsanger/article/details/8 ...

  6. eclipse 创建maven web项目

    参考:http://www.cnblogs.com/hongwz/p/5456616.html eclipse 创建maven web项目

  7. eclipse创建maven web项目

    eclipse创建maven web项目: 1.安装eclipse maven插件 2.新建maven project选择webapp模板. 3.改造为maven文档结构. 4.添加项目的JAVAEE ...

  8. IDEA 创建Maven Web项目(图文版)

    前言:IDEA作为一款广泛使用的开发工具,无论是后台人员,还是前段工作者,都能在它上面发现它的魅力. IDEA提供了诸多项目模板,今天就以创建Maven Web项目作为示例,和大家一起分享: 第一步: ...

  9. Eclipse创建Maven Web项目 + 测试覆盖率 + 常见问题(2015.07.14——湛耀)

    Eclipse创建Maven web项目: 到此,并没有创建好,接下来一步步解决问题: 问题:无法创建src/main/java目录 解决: 右键项目选择[properties] 点击[OK] 问题: ...

随机推荐

  1. git操作记录(如何回退到某个历史版本,如何提交部分文件等方法)

    当前项目使用git管理代码,在使用的过程中会遇到一些问题,这里记录下 1.合并代码后 在合并组员的代码后会出现下面的界面,开始的时候都会关闭,重新打开,乐此不疲到忍无可忍 解决方法: 出现这种界面是要 ...

  2. windows下mysql安装和配置

    历史版本下载地址安装,解压添加环境变量使用cmd中操作mysql进程修改mysql的配置附录:设置mysql随开机自启 TOC 历史版本下载地址 windows的mysql历史版本,推荐使用5.6版本 ...

  3. asp.net core系列 62 CQRS架构下Equinox开源项目分析

    一.DDD分层架构介绍 本篇分析CQRS架构下的Equinox开源项目.该项目在github上star占有2.4k.便决定分析Equinox项目来学习下CQRS架构.再讲CQRS架构时,先简述下DDD ...

  4. .NET Core 2.1 以下的控制台应用程序生成 EXE,且使用命令行参数动态运行控制器应用程序的示例

    文章: https://stackoverflow.com/questions/44038847/vs2017-compile-netcoreapp-as-exe 引用 <ItemGroup&g ...

  5. VS Code 自动修改和保存 代码风格 == eslint+prettier

    最近因为用到VS Code,需要统一所有人的代码风格(前端语言js/html/css等,或者后端语言 go/python等也可以这么用). 所以参考了一些网络资料,记录下设置步骤,以便后续查阅. St ...

  6. Codeforces 1256A 1257A

    题目链接:https://codeforces.com/problemset/problem/1256/A A. Payment Without Change time limit per test ...

  7. Python基础18

    “为什么有列表,还要元组?” 1. 元组可看成是简单的对象组合,而列表是随时间改变的数据集合. 2. 元组的不可变特性提供了某种完整性,确保元组不会被另一个引用来修改.类似于其它语言中的常数声明.

  8. C++优先队列例子

    #pragma GCC optimize(3) #include <bits/stdc++.h> #define N 105 using namespace std; struct Nod ...

  9. express的安装和新建项目流程!

    1.安装脚手架工具:npm install express express-generator -g 2.-h 参数可以列出所有可用的命令行参数 3.创建项目:express  -e firstexp ...

  10. logstash 入门篇

    场景介绍 基于分布式集群海量日志数据,且分布在不同的服务器上,日志的采集以及可视化是需要我们解决的问题.ELK就是这么一个方案,当然我们这里主要讲解logstash安装配置和基础语法. ELK帮我们解 ...