【问题标题】:Why "gradle dependencies" doesn't show all dependencies?为什么“gradle dependencies”不显示所有依赖项?
【发布时间】:2020-05-30 01:28:53
【问题描述】:

我的gradle.build 目前有implementation 'mysql:mysql-connector-java'

我在maven repository 中查找,它说mysql:mysql-connector-java 具有com.google.protobuf:protobuf-java 的编译依赖项。

但如果我执行gradle dependencies,则会显示:

那为什么后面没有com.google.protobuf:protobuf-java??

【问题讨论】:

  • 这并不能真正回答“为什么”的问题,但可能的解决方法是包括项目报告插件并通过它查看依赖项。这个答案提供了更多细节:stackoverflow.com/a/41784667/3570769
  • 这可能会回答“为什么”部分,但是,不知道依赖报告中还有什么,我不能确定。来自当前版本的 Gradle 文档:“图中多次出现的具有相同坐标的依赖关系被省略并用星号表示。” Listing Dependencies in a Project

标签: java maven gradle


【解决方案1】:

com.google.protobuf:protobuf-java 包主要用于构建mysql:mysql-connector-java 包的源码,gradle 从maven 仓库中获取构建jar 文件。这就是库列表中缺少该包的原因。

https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-installing-maven.html

查看以下链接:

https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-installing-source.html

【讨论】:

  • 当我添加一个 spring-boot-starter 时,我可以从我的项目的类路径中获取启动器的一些依赖项,那么我如何确定哪个依赖项仅用于构建源,哪个是我可以从我项目的类路径中获取
  • 我希望你知道 spring 是一个项目集合的名称。当调用“spring-boot-starter”依赖项时,它会添加一组非常具体的 jar 包,如 spring-core、注释、日志记录等。这些不提供完整的 Web 应用程序功能,但为核心 Java 应用程序提供了基础具有一些弹簧特定的功能。此外,还有许多以“spring-boot-starter”前缀开头的软件包,例如“spring-boot-starter-web”、“spring-boot-starter-thymeleaf”等。我希望给出的链接会有所帮助。 baeldung.com/spring-boot-starters
猜你喜欢
  • 2017-02-25
  • 2022-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-02
  • 2013-12-22
  • 1970-01-01
相关资源
最近更新 更多