Maven pom relativepath子模块找不到父模块路径的问题

Maven pom relativepath子模块找不到父模块路径的问题

在这里插入图片描述
你发现你的路径和继承过程都是对的,但还是会报错。

解决方法一:

<relativePath>../..<relativePath/>改成<relativePath/>

源码分析:
在这里插入图片描述
默认的是上一级目录的下的pom.xml。需要你的父类的pom.xml在你的上一层目录,如果没有就会从中央仓库里寻找(如果你采用了第一种方法,相当于你配置的版本号没有被使用,直接用中央仓库中存在的)

结论:
设定一个空值将使用上一级的pom.xml

解决方法二:

如果你是分层式架构
在这里插入图片描述
这报红线其实不影响程序的运行。(有强迫症就用第一种方法)
你发现你和教学视频的代码一模一样还是报错。你是因为idea以为你没有定义maven依赖版本号(实际上是继承的时候都定义了的,只是idea没有识别到,这是idea的bug,不影响程序正常运行),如果你有强迫症:在每个maven依赖加上版本号或者在idea的setting中设置这种问题爆红的勾勾去掉在这里插入图片描述

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Maven中,一个模块只能有一个模块,因此无法直接实现两个模块共同引用模块的情况。不过,可以通过在两个模块中都添加对模块的依赖来实现这一目的。 具体步骤如下: 1.在模块pom.xml文件中,声明自己的groupId、artifactId和version等信息,并引用所需的依赖。 2.在两个模块pom.xml文件中,分别声明对模块的依赖。注意,这里的groupId、artifactId和version应该与模块中声明的信息保持一致。 3.在两个模块中,都可以引用模块中的类和资源文件。 举个例,假设有两个模块A和B,以及一个模块C,其中模块C定义了一个名为"com.example.Calculation"的类,用于实现加法和减法运算。现在需要让模块A和模块B都引用模块C中的Calculation类,可以按照如下步骤操作: 1. 在模块C的pom.xml文件中,声明自己的groupId、artifactId和version等信息,并引用所需的依赖: ``` <groupId>com.example</groupId> <artifactId>module-c</artifactId> <version>1.0.0</version> ``` 2. 在模块A和模块B的pom.xml文件中,分别声明对模块C的依赖: ``` <!-- 在模块A中声明对模块C的依赖 --> <dependency> <groupId>com.example</groupId> <artifactId>module-c</artifactId> <version>1.0.0</version> </dependency> <!-- 在模块B中声明对模块C的依赖 --> <dependency> <groupId>com.example</groupId> <artifactId>module-c</artifactId> <version>1.0.0</version> </dependency> ``` 3. 在模块A和模块B中,都可以引用模块C中的Calculation类: ``` import com.example.Calculation; public class MainClass { public static void main(String[] args) { Calculation calculator = new Calculation(); int result = calculator.add(2, 3); System.out.println(result); } } ``` 需要注意的是,模块C中的Calculation类应该是一个独立的模块,不依赖于任何模块。同时,如果模块C中的类和资源文件被模块A和模块B同时引用,可能会导致冲突和重复定义等问题,需要谨慎处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Top丶super航

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值