springboot创建子模块时遇到子模块覆盖父模块问题解决

 

1.最近更新git dev 开发分支需要添加一个子模块,创建过程中遇到 创建springboot 模块时,子模块覆盖了父模块,搞了半天,最后查询到解决办法如下:

1 多模块项目创建

因为本系列的下一篇是《Spring Boot集成Dubbo》,所以本章就以创建多模块的dubbo项目作为示例。示例中的开发环境是Win 7,编辑器是Intellij IDEA,Java版本是1.8。

1.1 父模块创建

 

首先我们在IDEA中创建一个spring boot工程作为父项目。

一、在界面左上角选择File->New->Project后,选择Spring Initializr,默认使用的Java版本是1.8。

二、点击Next,进入下一步,可以设置项目的一些基本信息。

这里我们先来温习下groupId、artifactId、package这三个参数的一般填写规范。

groupId和artifactId统称为“坐标”,是为了保证项目唯一性而提出的。groupId是项目组织唯一的标识符,实际对应JAVA的包的结构,ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。groupId一般分为多个段,一般第一段为域,第二段为公司名称。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org,公司名称是apache,artifactId是tomcat。包结构package最好是以groupId.artifactId打头的。

因为后续打算将“代码学习和实践”写成一个系列的文章,文中演示的工程都作为该工程的子模块,所以这里项目名Name就填写deer。

这里是个人练习的项目,不涉及公司名,但groupId、artifactId、package参数的填写,还是尽量按照上面的规范来填写,这里package就直接用groupId.artifactId。如下所示:

注意:打包地址不能重复(不能在deer下在进行打包,只能在jy下打包)

三、点击Next,进入下一个选择dependency的界面,作用是在pom中自动添加一些依赖,在项目开始时就下载。这里我们暂时不勾选任何依赖。

四、点击Next,进入下一个界面,填写工程名,并选择工程所在目录。填写完成后,点击Finish,即可创建一个spring boot项目。

1.2 创建子模块

一、在上面创建好的deer工程名上,点击右键,选择New–>Module,进入New Module页面。

该模块为deer项目的子模块deer-core,打包路径不能和deer的打包路径一样。

 

二、点击Next到填写项目名的界面。(Content root和Module file location需要加一级目录 — deer-core,不然会覆盖父项目)

三、创建另一个deer-admin,步骤参照上步。

 

四、以上3个模块创建完成之后,整个项目的目录结构如下图所示。

我们把下图选中的无用的文件及文件夹删掉,包括三个模块的mvnw、mvnw.cmd文件及.mvn文件夹,还有父模块的src目录,因为此处的父模块只做依赖管理,不需要编写代码。

到这里,一个父模块和两个子模块都创建完成啦~~

五、配置deer,deer-admin,deer-core的pom.xml文件使它们之间维系父子关系

deer的pom.xml文件。

POM是最简单的打包类型。不像一个JAR,SAR,或者EAR,它生成的构件只是它本身, 项目里没有java代码,也不执行任何代码,只是为了聚合工程或传递依赖用的。

 

deer-admin,deer-core的pom.xml文件

https://blog.csdn.net/jenybom/article/details/90298362

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/423236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[MySQL] - 返回影响行数

(在MySQL 5.1.36上测试) found_rows() : selectrow_count() : insert update delete 注:需要配合相应的操作一起使用,否则返回的值只是1和-1(都是不正确的值) 示例: dropdatabaseifexistsmytest;createdatabasemytest;usemytest;droptableifexistsMyTestTable;createtableMyTe…

【C++深度剖析教程26】父子间的冲突

今天继续来学习C,父类与子类之间的冲突。加qq1126137994共同学习交流。 1、问题 子类中是否可以定义父类中的同名成员,如果可以,如何区分?如果不可以那又为什么? 2、问题的延伸 子类可以定义父类中的同名成员子类中…

java编程思想学习(1):抽象

今天开始java编程思想的导读,希望自己能更好的理解程序。全书1461页,恐怖,尽量一天看十页八。 OOP 面向对象程序设计 记录一点东西八 第一个小课程,抽象过程 看看概念 1万物皆为对象 2程序是对象的集合,他们通过…

嵌入式Linux系统之I.MX6触摸屏驱动程序TSC2007.C的分析、移植与校准

学习交流加 个人qq: 1126137994个人微信: liu1126137994学习交流资源分享qq群: 962535112 今天来记录一下I.MX6开发板移植触摸屏驱动程序的过程分析。在移植驱动程序之前,为了学习,先去分析一下触摸屏驱动程序的框架。…

docker 安装及打springboot jar打镜像

1.首先是安装 centos7 2.安装docker 建议参考 https://www.jianshu.com/p/ef14131fe900 2.1docker 一些常用的命令 docker ps 查看容器 docker run 创建容器 docker rmi imageId 删除容器 docker images 列出索引镜像 各个选项说明: REPOSITORY:表示镜像的…

java编程思想学习(2):对象

按照课本上的案例 我们也来创建一个小灯泡的案例 package geyao02;public class Light {public void on() {System.out.println("我可以发光");}public void off() {System.out.println("我可以关闭");}}运行结果 package geyao02;public class TestLig…

【C++深度剖析教程27】多态的概念与意义

今天来学习一个新的概念,多态!!!多态在C编程中具有重要的地位与意义,是面向对象的一个重要思想! 加qq1126137994一起学习更多技术~ 1、问题引入 父类与子类之间具有赋值兼容性; *子类对象可以当做父类对…

母亲的革命

做了几个星期思想工作,经过一天的舟车之劳,终于把母亲接到了县城住下来。 按理说,老早就想接母亲出来享享清福,顺便带带金果。可母亲一来放心不下家里的土地,二来怕婆媳之间不好相处,所以都推绝了。 母亲今…

springboot+hbase 集成

项目中使用 phoenix 使用SQL 方式来操作Hbase 数据库,但是遇到一个是,SQL在Dbeaver 中查询速度还可以,但是使用phoenixibatis 后返回结果集数据量20w ,速度特别慢,先是考虑用redis方式缓存,但是内存有限&am…

java编程思想学习(3):Java中的private、protected、public和default的区别

(1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。 (2)对于protected修饰符&#xf…

【Makefile由浅入深完全学习记录2】初识 makefile 的结构

继续学习makefile,希望尽快掌握makefile好在面试中更好的掌握方向!加qq1126137994一起学习更多技术!! 1、回顾 makefile的意义: makefile用于定义源文件之间的依赖关系makefile说明如何编译各个源文件并生成可执行文…

只进ResultSet 不支持请求的操作

使用jdbc操作时 抛出异常 只进ResultSet 不支持请求的操作 那肯定是 在使用resultset的游标操作时调用 resultSet.first () resultSet.last等等方法 你要做的就是设置游标支持滚动操作 如果是statement Statement stmtcon.createStatement(ResultSet.TYPE_SCROLL_…

【Makefile由浅入深完全学习记录3】伪目标的引入

只有不停的努力,才能看起来很轻松!!!加qq1126137994共同学习探讨更多技术!!! 1、思考: makefile中的目标究竟是什么? 在默认的情况下: make认为目标对应一…

InnoDB的auto_increment指定值被重置问题

有时候新建的表需要对自增列指定初始值,但是有时候会出现明明指定过的初始值却被重置的现象。下面以一个小实验来说明这个问题:MySQL version:5.1.42 OS:redhat5.3无废话,建张表先:代码CREATETABLEsbtest1 ( id int(10) unsigned…

java ReentrantLock 使用

1.ReentrantLock 简单的使用 private Lock lock new ReentrantLock(); lock.lock();用来获取锁。 lock.unlock();用来释放锁 package com.qey.lock;import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Thr…

【Makefile由浅入深完全学习记录4】变量和不同的赋值方式

今天来学习Makefile中变量的不同的赋值方式!努力的意义就是让贫穷不再限制你的想象!加qq共同学习交流1126137994 1、概念 makefile中支持程序设计中变量的概念makefile中的变量只代表文本数据(字符串)makefile中的变量名规则 -…

前端学习(100):float注意点整理1

1只会影响后面得元素 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible…

ASP.NET小技巧——回传后保持页面的滚动位置

今天在MSDN上看到一篇文章&#xff0c;关于如何在ASP.NET页面回传后保持当前的滚动&#xff08;垂直&#xff09;位置。这个技巧挺实用的&#xff0c;在此做简单的翻译介绍。默认情况下&#xff0c;ASP.NET页面回传到服务器后&#xff0c;页面会跳回顶部。对于一个内容较多的页…

USB转WIFI无线网卡驱动程序(RT5370驱动程序)的移植记录之一

学习交流加 个人qq&#xff1a; 1126137994个人微信&#xff1a; liu1126137994学习交流资源分享qq群&#xff1a; 962535112 今天记录我在I.MX6Q平台移植RT5370无线网卡驱动程序的过程&#xff0c;加qq1126137994 微信&#xff1a;liu1126137994 共同学习更多技术&#xff01;…

HTTP和RPC的优缺点

在HTTP和RPC的选择上&#xff0c;可能有些人是迷惑的&#xff0c;主要是因为&#xff0c;有些RPC框架配置复杂&#xff0c;如果走HTTP也能完成同样的功能&#xff0c;那么为什么要选择RPC&#xff0c;而不是更容易上手的HTTP来实现了。 本文主要来阐述HTTP和RPC的异同&#xff…