maven pom.xml 的parent标签报错是啥原因

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven pom.xml 的parent标签报错是啥原因相关的知识,希望对你有一定的参考价值。

标签报错是缺少相应的jar包。先查找缺少的是哪个jar包,再到自己Maven更新下载到本地的路径去找到jar所在的位置(jar的名字与文件夹的名字是一致的),删除文件夹里所有以lastUpdated结尾的文件,最后打开eclipse,右击我们的工程Maven>Update project...,点击可以了。

1、标签(Tag): 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本。由于标签是XML元素,所以它的名称和属性都是大小写。

2、标签库(Tag library): 由一系列功能相似、逻辑上互相联系的标签构成的集合称为标签库。 

3、标签库描述文件(Tag Library Descriptor): 标签库描述文件是一个XML文件,这个文件提供了标签库中类和JSP中对标签引用的映射关系。它是一个配置文件,和web.xml是类似的。

4、标签处理类(Tag Handle Class): 标签处理类是一个Java类,这个类继承了TagSupport或者扩展了SimpleTag接口,通过这个类可以实现自定义JSP标签的具体功能 。

参考技术A 那是原来的私有maven库中的parent,导入其他网络环境下肯定是会报错的,除非环境跟原来是一个局域网 参考技术B <repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/libs-snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>

加上这个。
参考技术C 1.找到maven库目录,进入:~\.m2\repository\org\apache\maven\plugins\maven-surefire-plugin\2.7.1
2.若2.7.1目录下只有,"maven-surefire-plugin-2.7.1.pom.lastUpdated"
参考技术D 用Eclipse创建一个maven工程,网上有很多资料,这里不再啰嗦。
右键maven工程,进行更新

在弹出的对话框中勾选强制更新,如图所示

4
稍等片刻,pom.xml的红叉消失了。。

一篇文章带你搞定 maven 项目 pom.xml 中 parent 标签的使用

使用 maven 是为了更好的帮项目管理包依赖,maven 的核心就是 pom.xml

当我们需要引入一个jar包时,在pom文件中加上<dependency></dependency>就可以从仓库中依赖到相应的 jar 包。

现在有这样一个场景,有两个web项目A、B,一个java项目C,它们都需要用到同一个jar包:common.jar

如果分别在三个项目的pom文件中定义各自对 common.jar 的依赖,那么当 common.jar 的版本发生变化时,三个项目的 pom 文件都要改,项目越多要改的地方就越多,很麻烦。

这时候就需要用到parent标签, 我们创建一个parent项目,打包类型为 pom,parent 项目中不存放任何代码,只是管理多个项目之间公共的依赖。

在 parent 项目的 pom 文件中定义对 common.jar 的依赖,ABC三个子项目中只需要定义<parent></parent>,parent标签中写上parent项目的pom坐标就可以引用到common.jar了。

比如这里,子模块想调用父模块的依赖,就需要加入parent标签
在这里插入图片描述

上面的问题解决了,我们在切换一个场景,有一个springmvc.jar,只有AB两个web项目需要,C项目是java项目不需要,那么又要怎么去依赖。

如果AB中分别定义对springmvc.jar的依赖,当springmvc.jar版本变化时修改起来又会很麻烦。

解决办法是在parent项目的pom文件中使用<dependencyManagement></dependencyManagement>springmvc.jar管理起来,如果有哪个子项目要用,那么子项目在自己的pom文件中使用

<dependency>
    <groupId></groupId>
    <artifactId></artifactId>
</dependency>

标签中写上springmvc.jar的坐标,不需要写版本号,可以依赖到这个jar包了。

这样springmvc.jar的版本发生变化时只需要修改parent中的版本就可以了。

以上是关于maven pom.xml 的parent标签报错是啥原因的主要内容,如果未能解决你的问题,请参考以下文章

Maven报错:Non-resolvable parent POM: Failure to find

maven项目报错 pom

使用spring boot 2.1.8生成的maven项目pom.xml第一行报错unknown error

maven的pom文件报错: must be "pom" but is "jar"

新建maven项目出错 pom.xml报错

maven详解之 pom.xml 解释