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

compile、testCompile和gradle依赖项中提供的有什么区别

邵研
2023-03-14
  1. 编译
  2. 提供
  3. APK
  4. 测试编译
  5. 调试编译
  6. 发布编译

我的问题:compile、testCompile和gradle依赖项中的provided之间有什么区别

共有1个答案

程钧
2023-03-14

compile是构建应用程序所需的一组依赖项,而testcompile是仅用于测试的一组依赖项。

例如,查看以下build.gradle(取自此处)

apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

这指定需要hibernate-core来构建代码,但只需要junit(一个测试框架)来进行测试。由于在运行时不需要它,所以它不会包含在发布的包中。

 类似资料:
  • 我的项目既有Java(N个文件)又有Groovy代码(只有1个文件)。Java compile依赖于这个单个Groovy文件的类文件进行Java编译(compileJava任务成功)。 当我不使用src/java作为main>groovy>sourceSet部分中的一个srcDir时,我会得到一个错误,说明在groovy文件/class中找不到class/symbol。在ANT中,我们很容易首先调

  • 我正在处理另一个关于我的构建的问题。gradle需要理解我的Android项目中的工作区项目依赖关系。我已经使用Java和Android有一段时间了,但我仍然很容易对添加依赖项的所有不同方法感到困惑。一种方法是放一个标签。libs/文件夹中的jar文件。另一种方法是具有工作区项目依赖关系。另一种方法(如果使用Android)是在Android选项菜单中添加项目依赖项?我觉得如果我真的理解了为什么会

  • 当使用一些第三方库时,我将依赖项添加到模块的build.gradle文件中。 或者我添加一个插件 有时,库需要向应用的build.gradle文件添加依赖项。 这些依赖项和插件之间有什么区别 为什么不能在一个构建中设置它们。格雷德尔档案? 所有的建议都很感谢,我在搜索这方面的信息时遇到了困难

  • 我正在尝试构建一个Bukkit插件。该插件还使用exp4j。最终结果需要在发布的jar中包含exp4j代码,但不包含Bukkit代码。 我按照这个答案的建议将依赖项复制到中,并使用这个答案将Bukkit声明为已提供。我的build.gradle现在看起来像这样: 这非常有效,我可以从命令行使用Gradle愉快地构建和运行项目。问题在于Intellij(或者可能是Gradle idea插件)无法识别