【问题标题】:dependencies for a library jar using gradle使用 gradle 的库 jar 的依赖项
【发布时间】:2020-12-30 04:17:13
【问题描述】:

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

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

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

当我在另一个项目中使用我的库时,将其作为 实现依赖项 我在库中使用的其他依赖项出现 NoClassDef 错误,这意味着找不到我的依赖项的运行时在我的图书馆中使用。

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

这是否意味着在我的项目中使用 implementation 来处理其他依赖项不是正确的方法?我应该用别的东西吗?您能否就正确的方法多做一些贡献?

谢谢

【问题讨论】:

    标签: java gradle gradle-dependencies gradle6.7


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2022-08-02
      • 2017-06-09
      • 1970-01-01
      • 1970-01-01
      • 2019-07-26
      • 2016-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多