无法引入自定义Spring Boot私有GitHub Packages包中类的问题求解
问题根源
你遇到的导入失败问题核心原因是:客户端引入的是带exec classifier的Spring Boot可执行jar,这类jar的业务类存放在BOOT-INF/classes/路径下,不属于Maven依赖的默认类加载路径,因此IDE无法识别导入。
解决方法
你当前公共库的spring-boot-maven-plugin配置已经是正确的,加了<classifier>exec</classifier>后执行mvnw deploy会同时上传两个jar包到GitHub Packages:
- 不带classifier的普通jar包:符合Maven依赖标准,类路径为普通结构,可直接作为依赖引入
- 带
execclassifier的可执行jar包:用于直接运行,不能作为依赖引入
你只需要调整客户端的依赖配置,去掉classifier配置即可:
<dependency> <groupId>com.sagar</groupId> <artifactId>libraray001</artifactId> <version>0.0.3-SNAPSHOT</version> </dependency>
额外适配(如有需要)
如果引入后启动客户端项目无法找到公共库中的Bean,可选择以下任意一种方案适配:
- 在客户端启动类上添加
@ComponentScan(basePackages = {"你的客户端项目根包", "com.sagar.libraray001"}),手动指定扫描公共库的包路径 - 在公共库中添加Spring Boot自动配置类,通过自动装配机制让客户端自动加载公共库的Bean,无需修改客户端扫描配置
内容的提问来源于stack exchange,提问作者Sagar Nayak
相关产品推荐
相关产品推荐

