解决:Maven模块项目引入其他模块项目依赖,却无法引用对方文件异常

解决:Maven模块项目引入其他模块项目依赖,却无法引用对方文件异常

一·问题描述:Maven模块项目引入其他模块项目依赖,却无法引用对方文件

二·问题原因:

需要引用的对方模块java类,直接创建于src/main/java/目录下面,没有任何一层包名(不推荐这样);有包名的java类无法引用没有包名的java类,而没有包名的java类,却可以引用存在包名的java类;这一规则,即使这两个类处于同一模块也是一样存在。示例如下

xml 复制代码
A文件所在路径:src/main/java/User.java
B文件所在路径:src/main/java/com/xxx/pojo/Deaprt.java

A可以引用B,但是B无法引用A

三·解决方案:

若需要引用的对方模块java类全路径,跟当前模块使用的java类全路径完全一样,则被maven的最短路径原则、最先声明原则(自身肯定是最优先声明的)覆盖。只需把两者文件所在目录包名,分别保持唯一不重复就行,或者改其中一个类名

相关推荐
古法安卓3 小时前
Android-日志系统源码解析
android·java·android studio
小夏coding4 小时前
从"一把梭"到"精妙拆解" —— 滑动窗口计时框架的设计演进
java·后端
MacroZheng5 小时前
同事问我:"Claude Code经常失忆,不怕它把项目搞炸?",我:"怕,三个Markdown文件给它装个永不丢失的外置大脑!"
java·人工智能·后端
十年Java程序媛7 小时前
深度实战:JDK21 虚拟线程 + HikariCP 生产正确配比、坑点、监控全套
java·spring boot
xiaoqiMikko7 小时前
有人在搜一个不存在的 Tomcat 版本
java·tomcat
用户31268748772010 小时前
ConcurrentHashMap 怎么保证线程安全?从分段锁到 CAS+synchronized
java
vipxieliang10 小时前
ValidX vs Apache Commons Validator:功能与性能对比
java·spring boot
SimonKing10 小时前
升级Spring Boot 4后,从 Jackson 2 到 3,到底有哪些变化
java·后端·程序员
吃饱了得干活11 小时前
一篇讲清楚Spring Boot:自动装配、启动器、过滤器、拦截器、设计模式
java·spring boot·后端
lhldsg12 小时前
AI零售系统实战指南:从架构设计到落地部署全解析
java·人工智能·小程序·uni-app·零售