maven进阶:一个多模块项目

maven的<packaging>pom</packaging>如何使用 本文来说下maven的pom如何使用 文章目录概述 概述 阅读详情

 一个多模块项目通过一个父POM 引用一个或多个子模块来定义。父项目,通过以下配置,将子项目关联。

  1. <packaging>pom</packaging>  
  2. <modules>  
  3.           <module>simple-weather</module>  
  4.           <module>simple-webapp</module>  
  5. </modules>  
<packaging>pom</packaging> <modules> <module>simple-weather</module> <module>simple-webapp</module> </modules>

     其中值得注意的是<packaging>pom</packaging>这个父项目不像之前的项目那样创建一个JAR 或者一个WAR,它仅仅是一个引用其它Maven 项目的POM。pom.xml 中下一部分列出了项目的子模块。这些模块在modules元素中定义,每个modules 元素对应了一个simple-parent/目录下的子目录。Maven知道去这些子目录寻找pom.xml 文件,并且,在构建的simp-parent 的时候,它会将这些子模块包含到要构建的项目中。

     当然,仅仅在父项目,配置子项目是不能够真正实现关联的,因为,这毕竟需要子项目的同意,故!子项目中需要配置:

  1. <parent>  
  2.         <groupId>org.sonatype.mavenbook.ch06</groupId>  
  3.         <artifactId>simple-parent</artifactId>  
  4.         <version>1.0</version>  
  5. </parent>  
<parent> <groupId>org.sonatype.mavenbook.ch06</groupId> <artifactId>simple-parent</artifactId> <version>1.0</version> </parent>

     现在,通过父pom.xml将2个子项目进行了关联,那么我们需要从simple-parent 项目运行mvn clean install 命令,将2个子项目打包,编译为一个项目!

     当Maven 执行一个带有子模块的项目的时候,Maven 首先载入父POM,然后定位所有的子模块POM。Maven 然后将所有这些项目的POM 放入到一个称为Maven 反应堆(Reactor)的东西中,由它负责分析模块之间的依赖关系。这个反应堆处理组件的排序,以确保相互独立的模块能以适当的顺序被编译和安装。

     当,通过父pom.xml进行完成多个子项目的关联后,我们可以像前几章一样,分别进入某个单独的模块,进行运行,以移动程序!

 

 注意:子项目的文件,位于父项目pom.xml同级,也就是,子项目的pom.xml位于父pom.xml的下一级文件中!

转自 http://blog.youkuaiyun.com/eclipser1987/article/details/5739177

Maven构建一个多模块的Spring Boot + Spring MVC项目,完全基于java config 使用Maven构建一个多模块的Spring MVC + Spring Boot项目,完全基于java config 一、新建一个maven项目,模板使用quickstart,项目名multiboot POM.xml配置: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w 阅读详情

相关推荐

动力节点Maven实战教程,Maven进阶篇之多模块项目管理

在学习Java技术中,Maven也是需要大家掌握的,今天来给大家简单介绍一下Maven多模块管理,当然,Maven视频教程中会为大家进行详细的介绍。 Maven是什么? 有很多朋友一直都在项目中用Maven,但是对它并不是很了解。 Maven是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生

Java___interview的博客 7509

<packaging>pom</packaging>

<packaging>pom</packaging> <packaging>pom</packaging> 在父级项目中的pom.xml文件使用的packaging配置一定为pom。父级的pom文件只作项目的子模块的整合,在maven install时不会生成jar/war压缩包。 可以通过标签来整合子模块的编译顺序(Maven引入依赖使用最短路径原则,例如a<–b<–c1.0 ,d<–e<–f<–c1.1,由于路径最短,最终引入的为c1.0;但路径

HEshenghuxi的博客 1万+

<packaging>pom</packaging>是什么意思

<packaging>pom</packaging>是什么意思? 答:以下配置<packaging>pom</packaging>的意思是使用maven分模块管理,都会有一个父级项目,pom文件一个重要的属性就是packaging(打包类型),一般来说所有的父级项目的packaging都为pom,packaging默认类型jar类型,如果不做配置,...

码海淹没的小强的博客 1万+

Maven项目中POM文件配置 中<packaging></packaging>标签详细讲解

标签在Maven项目中扮演着至关重要的角色,它不仅影响了项目的构建方式,还决定了最终生成的工件类型。理解并正确配置可以帮助开发者更好地组织和管理他们的项目,确保构建过程顺利进行,并为下游用户提供正确的依赖形式。

洛阳泰山的博客 3170

【项目实战】Maven 项目中的两种常见的打包类型:<packaging>pom</packaging> 和 <packaging>jar</packaging>

如果你想要一个项目既是聚合项目(用于管理多个子模块)又包含一些实际的代码(需要构建成 JAR 文件),你通常会这样设置,这样,当你构建聚合项目时,Maven 会自动构建所有的子模块,并且每个子模块都会按照其 pom.xml 文件中定义的打包方式进行打包。如果项目的打包类型设置为jar(Java ARchive),则Maven会将项目编译后的.class文件以及资源文件打包成一个.jar文件。表示该项目,不会生成可执行的 JAR 文件,而是用于作为其他模块的父项目或聚合项目。

奶爸的编程之路,也就一周冷个三天 1054

解决PubMed卡在“正在检查浏览器”页面的完整排查指南

DNS解析是将域名转换为IP地址的基础网络服务,其稳定性和准确性直接影响网站访问。当DNS服务器响应缓慢或返回异常结果时,可能导致客户端与服务器建立连接时出现偏差,从而触发网站的安全验证机制,例如Cloudflare等安全服务提供的浏览器环境检查。这一机制旨在防御恶意流量,但偶尔也会误拦截正常访问。在生物医学信息检索领域,PubMed作为核心文献数据库,其稳定访问对科研工作流至关重要。针对因DNS或本地缓存问题导致的‘正在检查浏览器’页面卡顿,通过刷新DNS缓存、更换为Google Public DNS或C

weixin_29597551的博客 3561

转: maven进阶:一个多模块项目

一个多模块项目通过一个父POM 引用一个或多个子模块来定义。父项目,通过以下配置,将子项目关联。   [xhtml] view plain copy   &lt;packaging&gt;pom&lt;/packaging&gt;   &lt;modules&gt;             &lt;module&gt;simple-weather&lt;/modul...

weixin_33920401的博客 85

深入探讨 VQ-VAE:理解变分量化自动编码器

VQ-VAE代表"Variational Quantized Variational Autoencoder",是一种生成模型,通常用于处理高维数据,如图像和音频。它的设计灵感来自于变分自动编码器(VAE)和量化方法,结合了它们的优点,使得 VQ-VAE 能够生成高质量的数据,并在数据表示上引入离散性。VQ-VAE 是一种强大的生成模型,结合了变分自动编码器和量化方法的优点。它在图像和音频生成、数据压缩和生成性对抗网络等领域具有广泛的应用。

DeepViewInsight的博客 7015

Maven –如何创建一个多模块项目

在本教程中,我们将向您展示如何使用Maven管理包含四个模块的多模块项目: 密码模块–仅接口。 密码md5模块–密码模块实现,MD5密码哈希。 密码sha模块–密码模块实现,SHA密码哈希。 Web模块–一个简单的MVC Web应用程序,可使用MD5或SHA算法对输入进行哈希处理。 模块依赖性。 $ password $ password <-- p...

一名可爱的技术搬运工 1119

行列式详解:从定义到应用

本文系统介绍了行列式的核心概念和应用。首先从二阶、三阶行列式入手,逐步扩展到n阶行列式的定义,讲解了余子式和代数余子式的概念。其次,详细阐述了行列式的重要性质,包括转置不变性、行列交换变号等基本性质以及乘积性质等推论。在计算方法方面,介绍了按行展开法、化上三角矩阵法等实用技巧,并列举了特殊行列式的计算案例。最后重点讨论了行列式在克拉默法则、矩阵可逆性判断、几何体积计算及线性相关性判断等领域的应用。文章强调理解行列式的几何意义和灵活运用性质的重要性,并给出了学习建议和常见误区提示。行列式作为连接代数与几何的桥

aichitang2024的博客 3034

OPC DCOM详细配置方法 - 不关防火墙不换登陆用户

1. 前言   OPC DCOM的设置是实现跨网络OPC通信的基础,现有的一些OPC DCOM配置教程虽然讲解了如何配置DCOM,但没有讲清楚为什么要这么做,而且各个教程涉及的配置方法也不尽相同。   为了彻底搞清楚OPC DCOM的配置过程,我重新做了两台机器的系统,一台是Windows 7 32位,一台是Windows 10 64位,并且重零开始完整的测试了正常运行OPC DCOM所需的最少的...

steventian72的博客 3万+

如何正确搭建一个多模块结构的Java项目

文章目录 (一)创建一个空项目 (二)创建第一个子模块 (三)创建第二个子模块 (四)最终效果演示 (五)总结 (一)创建一个空项目 我后续想要创建的子模块名称为:SpringMVC01、SpringMVC02等等,如下图: 其实此时已经提示我们要创建Module了,我们不用管,直接点击ok 至此,空项目创建完毕,接下来在空项目的基础上创建一系列子模块 (二)创建第一个子模块 这里以JavaWeb的maven项目为例,如下: 至此,第一个子模块创建完毕,接下来创建第二个子模块 (三)创建

zzq的博客 3955

Qt C++ 串口调试助手

1. **串口配置**:支持自动检测可用串口,可配置波特率(9600~921600)、数据位(5~8)、校验位(无/奇/偶/标记/空格)、停止位(1/1.5/2)。- HEX 模式发送时,输入格式需为十六进制字符(0-9、A-F),可带空格(如 `01 A3 FF`)或不带空格(如 `01A3FF`)。// 发送模式:true=HEX,false=ASCII。// 字符串转HEX字节数组。ui->parity->addItems({"无", "奇校验", "偶校验", "标记校验", "空格校验"});

寒寒豆豆软件公司的博客 144

一个多maven项目聚合的实例

本文介绍一个多maven项目的实例demo,展示了聚合、继承、工程依赖、单元测试、多war聚合、cargo发布等场景 一、工程介绍 该项目由5个maven项目组成 task-aggregator是父工程,同时承担聚合模块和父模块的作用,没有实际代码和资源文件 task-common是基础工程,里面是公共的代码 task-sla是某一个业务子模块,不包含web内容 task-sla-web

kyfxbl 2366

Python爬虫实战:利用Selenium与反反爬技术高效爬取企查查工商信息

本文将详细介绍如何使用Python最新爬虫技术(包括Selenium、Playwright、智能代理池等)爬取企查查工商信息数据。文章包含完整的代码实现、反反爬策略、数据解析与存储方案,以及法律合规性讨论,共计约8000字。企查查作为国内领先的企业信息查询平台,收录了超过2亿家企业的工商信息、司法信息、知识产权等数据。这些数据对于市场分析、商业决策等具有重要价值。法律边界提示禁止大规模爬取导致服务器过载不得绕过付费接口获取数据数据使用需遵守《个人信息保护法》商业用途需获得授权。

2201_76125261的博客 2236

【系统架构设计师】论文模板样例:论软件系统架构风格

本人于年月参与项目,该系统为*,在该项目组中我担任系统架构师岗位,主要负责系统整体架构设计。本文以该车联网项目为例,主要讨论了软件架构风格在该项目中的具体应用。底层架构风格我们采用了虚拟机风格中的解释器,因该公交共有几十种不同的数据协议,使用解释器风格可以满足整车数据协议兼容性需求;中间层关于应用层的数据流转采用了独立构件风格中的隐式调用,以减低系统间耦合度、简化软件架构,提高可修改性方面的架构属性;应用系统层采用了B/S的架构风格,统一解决公交行业性难题“实施推广难、维护难”问题。

数据知道的博客 9925
上一篇: zookeeper在windows下安装集群
下一篇: Calendar类的add()和set()方法
Tracyclock
博客等级 码龄10年 14粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值