了解 STS:Spring 引导应用程序在 STS 中工作正常,但是当 gradle 用于构建 jar 时,构建失败

Understanding STS: Spring boot application works fine from STS but when gradle is used to build jar, the build fails

我的 spring 引导应用程序在 运行 来自 Spring Tool Suite 时工作正常。但是,在项目部署时,当我使用 Gradle 命令构建 jar 文件时,出现编译错误 - 错误消息显示缺少特定包。 根本原因是我错过了向 build.gradle 添加特定依赖项。添加缺少的依赖项后,构建成功。

有人可以解释 STS 如何能够引用“缺失”的依赖项并能够 运行 在开发环境中成功地应用程序吗? 难道STS和Gradle有两个不同的依赖存放位置?

当使用 STS(或任何其他 IDE 时)并且您手动(或通过向导)将 jar 添加到类路径条目中,这些仅在您的 IDE 中可用。

您应该做的是向您的 pom.xmlbuild.gradle 添加额外的依赖项(取决于您的工具),然后您的 IDE 应该再次使用这些依赖项.

注意: 一些 IDE 会自动检测添加到类路径中的内容,并将它们也添加到您的构建文件中。不确定 STS(以及 Eclipse)是否这样做。