无法在我的 Spring Boot 项目中使用 Maven 依赖项
Posted
技术标签:
【中文标题】无法在我的 Spring Boot 项目中使用 Maven 依赖项【英文标题】:Unable to use Maven dependency inside my Spring boot project 【发布时间】:2020-09-22 00:30:21 【问题描述】:我已将我的工件发布到 Maven。可以在这里访问->https://oss.sonatype.org/#nexus-search;classname~AccessGateLabs
此后,我添加了依赖项,
<dependency>
<groupId>com.accessgatelabs.oss</groupId>
<artifactId>response-builder</artifactId>
<version>1.0.2</version>
</dependency>
添加了依赖项,我可以在 Maven 依赖项文件夹中看到 jar(附截图)
在此之后,我无法从此依赖项中导入类。
谢谢!
【问题讨论】:
要成为标准的“jar”依赖项,我认为您的包com.accessgatelas.oss.builder
不应位于 BOOT-INF 文件夹下方。我不确定他们能在那里找到。
你可能发布了 spring-boot uber jar。但这不适合在 maven 中用作依赖项。 Spring Boot 将向 jar 添加一个类加载器,以从重新打包的 jar 中加载类和库。为了拥有一个可执行的jar。我不认为这是你的意图吗?如果您打算在其他地方(在另一个 Spring Boot 应用程序中)重新使用该功能,我建议从您的构建中删除 spring-boot 插件并发布一个普通的 jar 和 pom 文件。然后将其作为依赖项添加到启用了该插件的构建/应用程序中。
是的,它在删除 Spring 插件进行打包后工作。谢谢!
【参考方案1】:
问题是您部署了一个包含 Sping 类的 uber-jar,而不是您自己的类库。 浏览jar时在归档浏览器中看到根目录是“org/springframework/boot”
解决方法是不使用Spring插件进行打包,而是使用默认的maven jar打包插件。
【讨论】:
是的,谢谢。它在删除 Spring 插件进行打包后工作。以上是关于无法在我的 Spring Boot 项目中使用 Maven 依赖项的主要内容,如果未能解决你的问题,请参考以下文章
如何使用hibernate在spring boot中实现分页
无法在 Thymeleaf 中显示 Spring Boot 模型数据
Spring Boot 不使用配置的 Jackson ObjectMapper 和 @EnableWebMvc
如何在我的新 Spring Boot 项目中关闭 Spring Security?