当前位置: 首页 > 知识库问答 >
问题:

格拉德尔:什么是依赖关系?

文彭祖
2023-03-14

在学习gradle时,我似乎是Java的构建工具。但我不明白依赖到底是什么。Gradle中的依赖项部分到底是什么意思?它有什么用途?

共有2个答案

姜宏放
2023-03-14

依赖项只是您希望从自己的代码中调用的软件的一部分。所以,你的软件依赖于其他软件。

传递依赖是另一种软件,由您的依赖项之一使用。因此,您的软件依赖于依赖于其他软件的其他软件。

你只需告诉Gradle你想调用什么软件。Gradle负责在Maven存储库中找到该软件的副本,通过互联网下载副本,并使下载的副本可供项目中你自己的代码使用。Gradle还负责确定你需要的库需要的传递库。这些也会为你下载。

使用Gradle可以省去手动查找和复制所需软件的麻烦。

作为一个构建自动化工具,Gradle将管理软件依赖性作为其职责的一部分。

程卓君
2023-03-14

Gradle依赖项允许您在项目中包含外部包。这使得使用其他代码非常容易。

更多信息请参见:https://docs.gradle.org/current/userguide/declaring_dependencies.html

例如:如果您想包含一个JDBC驱动程序来访问数据库,如果您必须手工包含包,那将是非常费力的。在gradle中包含这一行可以让您非常容易地将包添加到您的项目中。

dependencies {  
    compile ("com.oracle:ojdbc7:12.1.0.1")  
}  
 类似资料:
  • 谷歌刚刚开源了它的构建工具Bazel。这个工具和Gradle有什么不同?它能做什么是Gradle做不到的,它做什么更好,Gradle做什么更好?

  • 我有一个由gradle建造的战争项目。我有一个字符串gradle.build文件:编译'log4j: log4j: 1.2.17'但没有任何log4j.jar结果WEB-INF/lib目录在myproject.war文件。 但“compile”配置中定义的所有其他lib都存在。为什么会有如此奇怪的行为,它是一个bug还是某种功能?如何将其包含在我的网络档案中? Eclipse在项目的“网络应用程序

  • 我试图用我的gradle项目运行junit测试,但不管是什么测试,它们都会抛出以下堆栈跟踪 我已经看到了一些建议的解决方案,但似乎没有一个奏效。当我在ant中运行它们时,我的测试运行良好。我已经确保xerces使用的是最新版本,我还添加了建议的版本 对于JVM,但似乎什么都不起作用。 任何建议都将不胜感激。我可以根据要求提供更多信息。 **更新** 做了以下更改- 但现在的结果如图所示 **更新2

  • 我正在尝试让我现有的Android项目与渐变和智能J 12一起工作。以前,我曾让它与maven一起工作,但这似乎不像gradle那样灵活,而且据我所知,我需要的子文件夹更少。 我的Android项目分为干净的java库(:core)和实际的应用程序(:Android)。这两个项目都在我的主项目文件夹中。 我认为,用这个实现gradle工作的理想解决方案是将(:core)和(:android)项目视

  • 问题内容: 我有一个依赖关系如下: 当我部署一切正常时,这将拉下另一个引发ClassDefNotFound的依赖项。 我添加了两个依赖项,如下所示: 并且仍然面临着同样的问题,即:MVN带来下来不 我该如何解决? 编辑: 添加; 问题答案: 您可能有一个传递依赖项,另一个依赖项取决于您不需要的版本。 要获得所有直接和传递依赖关系的概述,请尝试: mvn依赖项:树 如果您发现同一依赖项的不同版本之间

  • 我正试图用quarkus运行简单的“入门”型gradle项目,每次我的单元测试都会因为这个错误而失败 按照这里的指示https://quarkus.io/guides/gradle-tooling对正在发生的事情有什么建议或想法吗?