当前位置: 首页 > news >正文

在依赖关系正确的情况下,执行 mvn install 提示找不到软件包

项目中的generator模块依赖user模块,依赖关系配置正确,但是执行mvn install提示找不到相应的软件包。

generatorpom.xml配置如下所示

<!-- user 模块 -->
<dependency><groupId>com.xxx</groupId><artifactId>user</artifactId><version>0.0.1-SNAPSHOT</version><scope>compile</scope>
</dependency>

项目的根 pom.xml 依赖关系如下所示

    <modules><module>common</module><module>user</module><module>gateway</module><module>generator</module></modules>

依赖关系配置正确,但是在执行mvn install时就是报找不到 user 模块中的某个枚举类。使用 trae 检测后,找到了问题:

检查user模块的pom.xml文件,确认其打包配置是否正确,以确保编译后的类文件被正确包含在JAR中:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>

修改user模块的pom.xml文件,为spring-boot-maven-plugin添加classifier配置,确保生成可被依赖的普通JAR包:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><classifier>exec</classifier></configuration></plugin></plugins>
</build>

执行mvn clean install,发现一切正常。

之前的问题是由于 Spring Boot Maven 插件默认生成的可执行JAR包结构特殊,导致其他模块无法正常依赖其中的类。通过在 pom.xml 中添加<classifier>exec</classifier>配置,让插件同时生成两种JAR包:

  1. exec分类器的可执行JAR(用于运行应用)
  2. 不带分类器的普通JAR(用于其他模块依赖)

这样 generator 就能正确引用 user 中的 枚举类,从而解决编译错误。

http://www.lryc.cn/news/604195.html

相关文章:

  • 测试自动化不踩坑:4 策略告别 “为自动化而自动化”
  • DPDK PMD 深度解析:高性能网络的核心引擎
  • 使用LangChain构建法庭预定智能体:结合vLLM部署的Qwen3-32B模型
  • 疯狂星期四文案网第23天运营日记
  • 基于Matlab图像处理的静态雨滴去除与质量评估系统
  • 数学建模算法-day[14]
  • LeetCode 刷题【19. 删除链表的倒数第 N 个结点、20. 有效的括号、21. 合并两个有序链表】
  • 面试刷题平台项目总结
  • 用命令查看Android设备的 Linux 内核版本,了解其对应的硬件支持各种特性
  • Git命令保姆级教程
  • 如何进行项目复盘?核心要点分析
  • AI产品经理手册(Ch3-5)AI Product Manager‘s Handbook学习笔记
  • linux命令tail的实际应用
  • C语言---万能指针(void *)、查找子串(strncmp函数的应用)多维数组(一维数组指针、二维数组指针)、返回指针值函数、关键字(const)
  • 【RH134 问答题】第 9 章 访问网络附加存储
  • 什么是数据编排?数据编排的流程、优势、挑战及工具有哪些?
  • OpenLayers 综合案例-底图换肤(变色)
  • Intellij Idea--解决Cannot download “https://start.spring.io‘: Connect timedout
  • 前端路由
  • DAY21 常见的降维算法
  • vulhub 02-Breakout靶场攻略
  • 计算机网络基础(一) --- (网络通信三要素)
  • 学习日志21 python
  • 集成电路学习:什么是WDT看门狗定时器
  • 简历美容院:如何把“打杂经历“包装成“核心项目“?
  • 系统优化与性能调教
  • USB Type-C PD协议一文通
  • QFutureWatcher 收不到 finished 信号-QFutureWatcher 与对象生命周期
  • 02-Breakout靶机攻略
  • linux命令ps的实际应用