您现在的位置是:首页 > 故事语录 > 励志语录励志语录

maven 父工程(maven子工程继承父工程依赖)

队长网红网2022-11-10 23:08:41励志语录150人已围观

简介maven父工程(maven子工程继承父工程依赖),本文通过数据整理汇集了maven父工程(maven子工程继承父工程依赖)相关信息,下面一起看看。前言Maven的父子项目就是这样搭建的,或者说这个概念,是最近一个项目遇到才知道的。我写了这么多年代码白写了,但也反映了我对一些基础知识的欠缺。趁着现在项目的需要,我就想补充一下这个知识点。目录父子工程的施工步骤主体3.1父子工

maven 父工程(maven子工程继承父工程依赖),本文通过数据整理汇集了maven 父工程(maven子工程继承父工程依赖)相关信息,下面一起看看。

前言

Maven的父子项目就是这样搭建的,或者说这个概念,是最近一个项目遇到才知道的。我写了这么多年代码白写了,但也反映了我对一些基础知识的欠缺。趁着现在项目的需要,我就想补充一下这个知识点。

目录

父子工程的施工步骤

主体

3.1父子工程的施工步骤

以下所有程序都是用IDEA构建的,

母项目建设

对于父项目,只需要构建一个普通的Maven项目。步骤如下:

1.文件-新建-项目

2.选择Maven,直接点击下一步按钮。

3.填写与项目相关的信息。

4.至此,一个新的父Maven项目已经成功构建。目录结构和初始pom文件如下:

接下来,我们需要根据项目需求,在父项目的pom中添加相关的资源依赖管理。让我们以spring-cloud项目依赖为例。

5.添加spring-cloud的依赖管理,在pom文件中添加以下内容:

packaging POM/packagingdependencyManagement依赖项依赖项groupIdorg.springframework.boot/groupId artifact id spring-boot-dependencies/artifact id version2.2.0.RELEASE/version type POM/type scope import/scope/dependency依赖项groupIdorg.springframework.cloud/groupId artifact id spring-cloud-dependencies/artifact id versionHoxton.RELEASE/version type POM/type scope import/scope/dependency/dependency management

至此,父项目和依赖项都已完成。下一步是构建子项目。

子项目的建设

子项目的共同建设

在父项目中,我们添加了dependencyManagement标签来引入spring-boot和spring-cloud的依赖关系,这样做的好处是可以帮助我们管理依赖的版本号。

首先,我们创建一个新的公共项目来引入项目所需的资源依赖,以避免子项目的重复引入。

新建一个模块就行了,后面的步骤就不一一展示了。该过程与父项目的过程相同。

创建新模块后,父项目的目录结构、公共文件和pom文件如下:

子项目公共的Pom文件内容

父项目的pom文件内容

我们会发现,在父项目的pom文件中,modules标签项是自动添加的;与此同时,我们的父节点被自动引入到公共节点的pom中。

我们将spring-boot和spring-cloud的依赖添加到common的pom文件中,common的pom完成如下:

骑乘作物xml版本='1.0 '编码='UTF-8 '?项目xmlns=' http://maven . Apache/POM/4 . 0 . 0 ' xmlns:xsi=' http://www . w3/2001/XML schema-instance ' xsi:schema location=' http://maven . Apache/POM/4 . 0 . 0 3358 maven . Apache/xsd/maven-4 . 0 . 0 . 0 . xsd '父artifactId spring-cloud-yl-demo/artifactId groupIdorg.yl.springcloudyldemo/组

我们会发现依赖关系中没有版本版本信息,因为它是由父项目管理的。当然,如果有必要,一些依赖项会自动为我们显示正确的版本号。

Spring-boot项目构建nacos-provider

文件-新建-模块

选择弹簧初始化。

填写相关项目信息:

仅在网站中选择此项目。

完成nacos-provider项目的新建后,我们需要手动修改两项:

1.在父项目的pom文件中,添加一个模块项。此时,模块中有两个项目,一个是新创建的公共项目,另一个是我们新创建的nacos提供商项目:

2.修改nacos供应商项目的pom文件。因为我们构建了spring-boot项目,所以默认情况下我们会自动加入spring-boot的父依赖项。但是,我们已经通过父项目管理了这一块,所以我们可以将父项目更改为我们自己的父项目,同时引入我们的公共项目。

修改前:

修改后:

修改后完成pom文件:

?xml版本='1.0 '编码='UTF-8 '?项目xmlns=' http://maven . Apache/POM/4 . 0 . 0 ' xmlns:xsi=' http://www . w3/2001/XML schema-instance ' xsi:schema location=' http://maven . Apache/POM/4 . 0 . 0 3359 maven . Apache/xsd/maven-4 . 0 . 0 . 0 . xsd ' model version 4 . 0 . 0/model version父groupIdorg.yl.springcloudyldemo/groupId artifact-从存储库中查找父级-/父级groupIdorj.yl/groupId artifactIdnacos-provider/artifactId version 0 . 0 . 1-SNAPSHOT/版本名称nacos-provider/名称描述Spring Boot的演示项目/描述属性Java . version 1.8/Java . version/properties依赖项groupIdorg.yl.springcloudyldemocommon/groupId artifactId spring-cloud-yl-demo-common/artifactId version 1.0-SNAPSHOT/version/dependencies/dependencies构建插件groupIdorg.springframework.boot/groupId artifactId spring-boot-maven-plugin/artifactId/plugins/build/project

此时,我们在父项目的目录下执行mvn -U clean install,输出信息如下:

这是成功的。接下来,我们需要开始我们的nacos提供商项目。

可惜项目无法启动,错误如下:

很奇怪,我们的春靴相关包不存在。我们共同介绍过。为什么不存在?

检查我们删除的依赖项:

发现没有我们的common,所以问题很明显,就是nacos-provider没有引用我们的common,所以没有引用其他的依赖。

我的解决方案:手工将公共包生成的jar添加到子项目中。

在共同项目目标下

关于这个问题,我试过网上的方法,但是解决不了。

怎么解决?请留言告诉我。谢谢大家!

至此,我们的父子项目已经构建完毕,您可以用同样的方法创建任意数量的子项目。

更多maven 父工程(maven子工程继承父工程依赖)相关信息请关注本站,本文仅仅做为展示!

Tags: 项目  ing  

很赞哦! ()

留言与评论 (共有 条评论)
验证码: