首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在级中使依赖传递

如何在级中使依赖传递
EN

Stack Overflow用户
提问于 2015-06-16 15:46:47
回答 1查看 1.1K关注 0票数 2

我下载了javax.mail-api-1.5.3.jar文件,复制到app/libs文件夹中,然后右击,添加为库。然后,下面的一行出现在依赖项下。

代码语言:javascript
复制
compile files('libs/javax.mail-api-1.5.3.jar')

我想让这个依赖项成为transitive.Because,我在pom.xml文件中提到了javax.mail-api库依赖项,如下所示。

代码语言:javascript
复制
 <dependencies>
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>javax.mail-api</artifactId>
            <version>1.5.3</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>javax.mail</artifactId>
            <version>1.5.3</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

我也试过

代码语言:javascript
复制
compile (files('libs/javax.mail-api-1.5.3.jar')){
    transitive true
}

然后发生此错误。

代码语言:javascript
复制
    Error:(34, 0) Gradle DSL method not found: 'compile()'
    Possible causes:
The project 'MeetingManager' may be using a version of Gradle that does not contain the method.
    Open Gradle wrapper file 

The build file may be missing a Gradle plugin.
    Apply Gradle plugin

我不知道下一步该怎么办,请帮帮忙。

我的build.Gradle文件看起来像

代码语言:javascript
复制
apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.example.meetingmanager"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions{
        exclude 'META-INF/LICENSE.txt'
    }


}

dependencies {
    compile 'com.android.support:appcompat-v7:22.1.1'
    compile 'com.google.android.gms:play-services:7.3.0'
    compile 'com.google.api-client:google-api-client:1.20.0'
    compile 'com.google.apis:google-api-services-gmail:v1-rev29-1.20.0'
    compile 'com.google.api-client:google-api-client-android:1.20.0'
    compile 'com.google.api-client:google-api-client-gson:1.20.0'
    compile (files('libs/javax.mail-api-1.5.3.jar')){
        transitive true
    }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-16 19:59:02

javax.mail-api-1.5.3也可以从构建文件中描述的现有存储库(可能是jCenter或mavenCentral)下载。如果您没有在/libs中使用下载的版本,您可以在构建文件中这样做:

代码语言:javascript
复制
dependency {
  compile 'javax.mail:javax.mail-api:1.5.3'
}

在这种情况下,默认行为是在像这样指定传递依赖项时下载它。

下面是对该存储库的引用:http://mvnrepository.com/artifact/javax.mail/javax.mail-api/1.5.3

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30872330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档