如何通过本地Maven仓库引用另一个Spring Boot项目?
解决Spring Boot本地Maven依赖无法引用的问题
排查步骤与解决方案
调整Exporting项目的打包配置
Spring Boot默认通过spring-boot-maven-plugin生成的是可执行jar,这种jar包含了所有依赖和启动逻辑,无法被其他项目直接作为依赖引用。需要在Exporting的pom.xml中修改插件配置,同时生成可被依赖的普通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,此时本地仓库会同时生成两个jar包:不带后缀的普通依赖jar,以及带-exec后缀的可执行jar,Importing项目会自动识别并引用普通依赖jar。核对Importing项目的依赖配置
确保Importing的pom.xml中依赖的groupId、artifactId、version与Exporting项目的pom配置完全一致,示例如下:<dependency> <groupId>com.example</groupId> <artifactId>Exporting</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>清理缓存并强制更新依赖
执行mvn clean install -U强制更新本地依赖缓存,同时在IDE中执行缓存清理操作(比如IntelliJ IDEA的File -> Invalidate Caches...)后重启IDE,避免IDE缓存导致的依赖识别异常。检查Exporting项目的组件暴露范围
确保Exporting中需要被引用的类、接口处于Spring组件扫描范围内,或者直接在这些类上添加@Component等Spring注解;同时避免使用默认包结构,保证Importing项目能正常访问到目标类的包路径。
内容的提问来源于stack exchange,提问作者MaduKan
相关产品推荐
相关产品推荐

