微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 gradle 的库 jar 依赖项

如何解决使用 gradle 的库 jar 依赖项

我正在使用 gradle 6.7 并创建一个库项目,该项目被编译成一个 jar,放在我自己的 s3 工件存储库中。

在我的项目中,我依赖于其他工件,我使用了实现依赖项。

创建 jar(不是胖 jar)并上传到 s3 存储库。

当在另一个项目中我通过获取它作为实现依赖来使用我的库时,我在我的库中使用的其他依赖项出现错误 NoClassDef,这意味着没有找到我的依赖项的运行时正在我的图书馆中使用。

我的问题是,创建一个胖罐子是否是个好主意?我不认为其他库(例如 springboot 和其他库)正在使用胖罐子,对吗?但是,当我将它们用作依赖项时,会在运行时发现其他依赖项。

这是否意味着在我的项目中对其他依赖项使用 implementation 不是正确的方法?我应该用别的东西吗?能否请您多贡献一点关于什么是正确的方法

谢谢

解决方法

查看 Java Library Plugin 以获得 gradle。它存在于这种确切情况下。

如果您的库的依赖项需要向您的库的使用者公开,那么您可以使用 api 而不是 implementation。插件文档 here 中有一个很好的部分,可用于帮助您确定何时将依赖项声明为 apiimplementation

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。