首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

7.1.Maven核心知识@module和parent标签的填写方式

都知道,maven项目间依赖是双向绑定的(这个是自己瞎说的词,自己理解起来比较容易),即像树结构一样,一个子模块只能有一个父模块,父下面有多个子。...子模块使用parent标识父,父模块使用module标识子。 自己开始没有认清Maven的一些细节知识,这里做一下笔记算是,方便以后查找。...module里面的值填写的是以当前路径为起始的路径,这里举一个不规范的例子,我的子模块在父模块的上一层,那么,父模块的module里面就写: module>...../childmodule> 其中child是子模块的文件夹名,有点像Go语言的包引入 parent> xxxxx parent/> 子模块标记父模块,默认在子模块目录上一目录下去找,当前场景是找不到的...,于是就要添加一下relativepath parent> xxxxx Parent parent/> 父在子的下一级,所以这里直接写Parent

1.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Maven 的聚合(多模块)和 Parent 继承

    即使是长期从事 Maven 工作的开发人员也不能完全掌握聚合(多模块)和 Parent 继承的关系,在使用多模块时,子模块总要指定聚合的 pom 为 parent>。...由于在大多数示例中都是这么写的,所以很难让人搞懂这两者的具体作用和关系。 实际上在 Maven 中聚合(多模块)和继承是两回事,两者不存在直接联系。...index.html 继承 继承是 Maven 中很强大的一种功能,继承可以使得子POM可以获得 parent 中的各项配置,可以对子pom进行统一的配置和依赖管理。...聚合(或多模块) 具有模块的项目被称为多模块或聚合项目。模块是此POM列出并作为一组执行的项目。通过一个pom打包的项目可以将它们列为模块来聚合成一组项目进行构建,这些模块名是这些项目的相对目录。...父POM是为了抽取统一的配置信息和依赖版本控制,方便子POM直接引用,简化子POM的配置。

    6.8K30

    Maven 的聚合(多模块)和 Parent 继承

    即使是长期从事 Maven 工作的开发人员也不能完全掌握聚合(多模块)和 Parent 继承的关系,在使用多模块时,子模块总要指定聚合的 pom 为 parent>。...由于在大多数示例中都是这么写的,所以很难让人搞懂这两者的具体作用和关系。 实际上在 Maven 中聚合(多模块)和继承是两回事,两者不存在直接联系。...index.html 继承 继承是 Maven 中很强大的一种功能,继承可以使得子POM可以获得 parent 中的各项配置,可以对子pom进行统一的配置和依赖管理。...聚合(或多模块) 具有模块的项目被称为多模块或聚合项目。模块是此POM列出并作为一组执行的项目。通过一个pom打包的项目可以将它们列为模块来聚合成一组项目进行构建,这些模块名是这些项目的相对目录。...父POM是为了抽取统一的配置信息和依赖版本控制,方便子POM直接引用,简化子POM的配置。

    51420

    你分得清楚Maven的聚合和继承吗?

    用了 Maven 好几年了,许多人还是只懂得简单的依赖坐标。对于 Maven 的聚合和继承还是一知半解,甚至很多人以为是同一个东西。但其实聚合是用于快速构建项目,是表示项目与子项目之间的关系。...在 Maven 中我们通过 modules 元素来表示模块之间的关联关系。 在 Maven 的聚合关系中,聚合项目知道哪些项目是它的子项目,但是那些被聚合的项目并不知道其被哪个模块聚合了。.../mailmodule> 继承 Maven 的继承是为了消除重复配置而存在的。...这个时候就可以将共同的依赖写在父类模块中,让子类继承这些依赖。 例如 taobao-parent 是 mail 模块和 account 模块的父模块,他们都需要 junit 测试依赖包。...从上面可以看到多模块 Maven 项目中的聚合与继承其实是两个概念,其目的是完全不同的。

    1.1K40

    Maven详解(八)------ 继承和聚合

    --子工程中声明对父工程的引用 --> parent> com.ys.maven Parent.../Parent/pom.xml parent>    ③、将子工程的坐标中与父工程坐标重复的内容删除(不删除也可以,为了简洁) ?    ...我们在用Maven 管理项目的时候,通常为创建多个 Maven 工程,也就是一个项目的多个模块。但是这样分成多个模块了,当我们进行项目打包发布的时候,那么要每一个模块都执行打包操作吗?...第一步:创建聚合工程(注意聚合工程的打包方式也必须为 pom,通常由 上面所讲的父工程来充当聚合工程) ? 第二步:创建子工程:业务层     ①、选择 Maven Module ?      ...第三步:创建子工程:表现层和持久层     创建步骤和前面一样,注意表现层打包方式我们要选择 war,因为要发布到 tomcat 容器运行。

    1.1K100

    Maven-04

    --引入父模块, parent标签可以理解为java中的继承关系-->parent> 父类 groupId 父类 artifactId...,maven 会自动按照依赖顺序为你打包modules 中的 module 标签作用:modules 只能在模块的打包方式是 pom 的时候才能使用,比如 packaging 设置为 pom,modeule...标签中的名称是其他模块 artifactId 名称,无论该模块是否打包方式为 pom 模块的子模块,都是可以的;在对父模块进行 mvn clean install 的时候,所有在 module 标签中的模块都会自动按照模块之间的依赖顺序进行...module 标签吗,我认为是可以的,因为 module 标签的作用在上面 2 中已经说明了,所以它只和打包方式为 pom 的模块进行 mvn clean install 的时候有关,也就是说只和开发的时候...以下是 Git 的一些核心概念和功能:分布式版本控制:与集中式版本控制系统(如 SVN)不同,Git 允许每个开发者拥有完整的代码库副本,包括完整的历史记录。

    7710

    SSL证书是和域名绑定的吗

    ssl证书是根据域名来签发的,申请ssl证书首先肯定要提供域名,而域名是解析到ip地址上的,那么究竟ssl证书是和域名绑定的还是和ip地址绑定的呢?   ...以前有人听说生成证书时可以用IP地址,认为如果没有域名也可以绑定IP,两者有一个就可以申请,其实用ip地址绑定ssl证书时是会报错的,ssl证书是不能直接和ip地址绑定的。   ...一个ssl证书是可以绑定多个域名的。这样一来就可以避免购买多个ssl证书的费用了。...多域名型ssl证书是指可以在一个证书中绑定多个不同的网站域名,比较适合中小型企业,有好几个站点只需要购买一张ssl证书即可。   ...所以当用户拥有多个域名或者多个子域名的网站,并希望通过一个ssl证书来保护所有域名,那么多域名型ssl证书和通配符型ssl证书是最佳的选择了,因为多域名和通配符ssl证书既能保护多个域名网站,同时也能保护多个子域名网站

    10.5K30

    说说Maven框架和插件的契约

    Maven给插件就定了契约,这个契约,是通过api jar包的方式。每次发布Maven新版本,与之伴随的,都会有一个api jar包。...之后,当然是反射生成对象,然后强制转换为契约接口,然后调用契约接口就行。...工程实践 我们会模拟上面的过程, 建一个Maven module,用来存放插件api契约接口; 建一个Maven module,引入api,实现插件api,这样,我们的插件就算是实现好了; 接下来,把这两个工程编译一下...,这个classloader的parent classloader,我们传的是,系统的AppClassloader。...https://gitee.com/ckl111/maven-3.8.1-source-learn 我这边给大家展示下,执行结果: 大家看看,这像话吗,明明我的插件代码里,是实现了接口的,怎么就不能向上转型呢

    31330

    聚合和继承

    步骤1:创建一个空的Maven项目并将其打包方式设置为pom 因为这一步和前面maven创建聚合工程的方式是一摸一样,所以我们可以单独创建一个新的工程,也可以直接和聚合公用一个工程。...实际开发中,聚合和继承一般也都放在同一个项目中,但是这两个的功能是不一样的。...pom,可以将两种关系制作到同一个pom文件中 聚合与继承均属于设计型模块,并无实际的模块内容 聚合和继承的不同点: 聚合是在当前模块中配置关系,聚合可以感知到参与聚合的模块有哪些 继承是在子模块中配置关系...,父模块无法感知哪些子模块继承了自己 IDEA构建聚合与继承工程 相信到这里,大家已经能区分开什么是聚合和继承,但是有一个稍微麻烦的地方就是聚合和继承的工程构建,需要在聚合项目中手动添加modules标签...图片 创建成功后,maven_parent即是聚合工程又是父工程,maven_web中也有parent标签,继承的就是maven_parent,对于难以配置的内容都自动生成。

    78100

    聚合和继承

    ​spring-test​ 只在 ssm_crm 和 ssm_goods 中出现,而在 ssm_order 中没有,这里是部分重复的内容 我们使用的 spring 版本目前是5.2.10.RELEASE​..._02_ssm 和 maven_04_dao 这两个项目中的 junit 版本就会跟随着父项目中的标签 dependencyManagement 中 junit 的版本发生变化而变化。...继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己 相信到这里,大家已经能区分开什么是聚合和继承,但是有一个稍微麻烦的地方就是聚合和继承的工程构建,需要在聚合项目中手动添加modules​...标签,需要在所有的子项目中添加parent​ 标签,万一写错了咋办?...创建成功后,maven_parent 即是聚合工程又是父工程,maven_web 中也有 parent 标签,继承的就是 maven_parent,对于难以配置的内容都自动生成。 ‍

    18021

    Maven和Tomcat能有啥联系呢,都穿打补丁的衣服吗

    Maven和Tomcat能有啥联系呢,都穿打补丁的衣服吗 1、启动类 2、maven core 3、插件代码 maven clean时,到底发生了什么(插件被框架核心执行阶段) 1、启动时的加载器-AppClassloader...插件,是要让主框架来执行的,主框架是谁呢,就是maven core,可以称之为maven核心吧。...maven和tomcat的相似之处 下边,我们看maven的jar包的分散情况。...这里,大家可以想想启动类的目标是啥,是要去加载框架核心。对于启动类来说,重点在于:框架类的代码在哪里呢?是靠默认约定吗,还是读一个什么配置文件。 答案就是配置文件。...: 框架核心做了啥,就是加载org.apache.maven.plugin.clean.CleanMojo,然后强制向上转型成Mojo,然后优雅地用多态来执行execute方法,调用插件的实际逻辑即可

    33420

    maven使用总结

    步骤 Maven使用总结 依赖范围 maven创建的工程的目录中包含main和test文件夹,分别表示主程序的文件夹和测试程序的文件夹 maven使用scop设置依赖范围,常用的依赖范围如下:...我们可以使用标签来管理,新的配置文件如下: properties中的标签体可以任意指定,如果需要引用定义的标签体中的内容,那么直接使用${标签体}即可 此时我们要是改变版本,那么只需要改变...标签指定声明对父工程的引用 parent> cn.tedu Hello-Parent 0.0.1.../Hello-Parent parent> 将子工程坐标和父工程坐标重复的地方删除,不删除也没关系 在子工程中删除junit的version标签,表明是继承自父工程的版本...-- 使用聚合的方式 --> module>../Hello-Parentmodule> module>..

    50510

    Maven基本知识

    通过第二个 Maven 工程我们已经看到, 当前工程会到本地仓库中根据坐标查找它所依赖的 jar 包。配置的基本形式是使用 dependency 标签指定目标 jar 包的坐标。...,并且为部署做准备 site-deploy 将生成的站点文档部署到特定的服务器上 这里经常用到的是 site 阶段和 site-deploy 阶段,用以生成和发布 Maven 站点,这可是 Maven.../Parent/pom.xml parent> 此时如果子工程的 groupId 和 version 如果和父工程重复则可以删除。...3、在父工程中管理依赖 将 Parent 项目中的 dependencies 标签,用 dependencyManagement 标签括起来 junitjunit4.9test 在子项目中重新指定需要的依赖...1、配置聚合 ​ 在总的聚合工程中使用 modules/module 标签组合, 指定模块工程的相对路径即可 module>..

    69610

    maven多模块和依赖冲突问题汇总记录

    maven多模块和依赖冲突问题汇总记录 目录 maven多模块和依赖冲突问题汇总记录目录前言:idea怎么创建maven多module的项目首先了解上面是多module?...命令 前言: 今天学习和总结了一下maven的相关知识点,发现一些比较基础的东西居然也会忘记,这里对于一些日常工作中可能会遇到的问题进行了一下汇总。...idea怎么创建maven多module的项目 首先了解上面是多module? 一句话概括就是:一个父模块作为版本控制多个子模块,子模块负责接入到父模块当中作为整个项目的过程。...在下面的pom中可以在任意的子模块引入对应的父模块依赖 注意由于parent>这个标签会递归继承,所以要注意子依赖不要和依赖引入不同版本的依赖,这样容易造成冲突 ...如何解决依赖冲突的问题 锁定版本法 一般情况下我们会在父pom文件里面管理,可以使用这个这个标签来管理所有子模块的版本依赖,子模块如果指定自己的版本,这里发现打出来的包依然是父

    4.2K40
    领券