Gradle依赖项之间的差异。
compile
apk project
compile project
provided project
implementation
我的问题是
这里的编译项目、apk项目、编译项目和提供的项目之间有什么区别?
这里要讨论两件事:依赖配置和依赖源。
依赖项配置
配置有助于定义依赖项的传递性,从而消除了发现和指定您自己的项目/库所需的库的痛苦,包括自动发现和指定这些库。gradle中的配置概念与Maven的scopes非常相似:
在Android上可以遇到更多配置,例如testCompile
,它允许您指定仅用于测试的编译时依赖项,假设您想在测试中使用junit,那么您将执行以下操作:
testCompile 'junit:junit:4.12'
依赖源
一旦了解了可用的配置,就需要指定实际的依赖关系。依赖关系可能是内部的,也可能是外部的,您可能依赖于正在使用的另一个库,以及公共可用的库。这里输入了关键字project,允许您指定对内部模块或库的依赖关系。通过将依赖项定义为编译项目,可以将该模块或库作为可传递依赖项添加到项目中。
假设您有一个包含三个模块(生产者
、消费者
和共享
)的项目消息
,项目结构如下所示:
messages/
build.gradle
settings.gradle
consumer/
build.gradle
producer/
build.gradle
shared/
build.gradle
现在假设消费者和生产者都以json格式存储消息,并且您希望使用google gson来实现此目的。假设两个项目都有一些共同的源代码,它们都依赖于您的共享模块<代码>消费者的内部版本。然后,gradle可以定义以下依赖项:
dependencies {
// Internal dependency to project shared
compile project (':shared')
// External dependency to publicly available library,
// through public repositories such as jcenter() or mavencentral()
compile 'com.google.code.gson:gson:1.7.2'
}
总而言之,正是配置和源代码的结合使您能够将依赖项声明为compile
、compile project
、apk project
等等!
问题内容: 是否可以在Gradle(在Android Studio中)中指定对当前项目边界之外的另一个gradle项目的依赖关系?例如,相对路径如下所示: 所以我想的是这样的: 我有一个Android应用程序。结构如下: MyApp(路径为/ Users / foo / workspace / MyApp) 应用程序(路径为/ Users / foo / workspace / MyApp / a
我如何在PP3的build.gradle文件中将PP1声明为编译依赖项? 我正在运行Gradle V1.2
我正在使用mongodb和Spring Boot。最近,我的mongodb升级到了3.0版本。 我对Spring使用以下Gradle依赖项: 如果我查看maven存储库中的gradle:,我会看到以下内容(http://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-mongodb/1.2.6
编译 Java 项目 一个项目可以关联多个编译器。 java 项目关联的是 java 编译器。可以通过以下方式来查看项目关联的编译器: 在 Package Explorer 视图中鼠标右击项目并选择 Properties 在左侧的树形菜单中点击 Builders java编译器用于编译java项目。通过点 New 按钮我们可以让java项目关联 Ant builder 编译器。 java 编译器通
This tutorial describes the base compilation commands provided with OCaml. It is useful to learn these commands to understand OCaml's compilation model. However, eventually you will want to use a buil
我知道这个问题已经在几个方面被问到,但希望澄清,因为我没有Linux测试,我会把项目发送给谁将使用Linux的人。 问题:有一个有几个库的Netbeans Java项目(请参见pic),我需要压缩并将整个项目发送给某人,并给他们在Linux下编译和打开它的指导。 我读过:Link1、Link2、Link3等等。