springboot 多模块项目,maven compile、install、package均显示找不到符号

假设有模块a、b,模块b引用模块a中的类。idea本地启动可以正常运行,打包模块b,maven显示找不到符号。此时可能是模块a修改后未重新构建,重新compile、install模块a即可。

在Spring Boot多模块打包时,A模块引用B模块却报错不到B模块,可参考以下解决办法: - **检查B模块是否正确打包安装**:确保B模块已成功打包并安装到本地Maven仓库。可以使用`mvn clean install -Dmaven.test.skip=true`命令对B模块进行打包安装,此命令会跳过测试环节,提高打包效率。若在打包install公共模块时失败,出现“Unable to find main class”的报错,可能是因为Maven编译该模块时尝试寻main方法的class文件,但公共服务模块无需启动项目,也就不需要main方法文件。解决方法是在该工程模块的`pom.xml`中添加如下配置进行过滤: ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> </build> ``` [^1] - **检查A模块的依赖配置**:确认A模块的`pom.xml`文件中已正确添加对B模块的依赖。依赖配置应包含B模块的`groupId`、`artifactId`和`version`信息,示例如下: ```xml <dependency> <groupId>com.example</groupId> <artifactId>B-module</artifactId> <version>1.0.0</version> </dependency> ``` - **避免不必要的插件配置**:检查A模块和B模块的`pom.xml`文件,避免在其中加入不必要的`spring-boot-maven-plugin`配置。若在父模块和公共模块的`pom.xml`里都加入了如下配置,可能会导致不到公共模块类的问题,应避免添加: ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> ``` [^2] - **使用Maven命令打包编译**:建议使用Maven命令进行打包编译,以确保打包过程的准确性。可以使用以下命令: - 编译项目:`mvn -X -DskipTests=true compile` - 编译项目并且打包:切入到项目最外面,使用`mvn clean install package -Dmaven.test.skip=true` [^5]
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值