java - 在 Java 软件模型中指定变体特定的外部依赖关系

标签 java gradle

我正在通过思考https://docs.gradle.org/current/userguide/java_software.html处的文档来尝试孵化新的软件模型来构建我的Java项目。

我想做的是针对不同的目标平台有不同的外部依赖关系。比如,

model {
    components {
        main(JvmLibrarySpec) {
            targetPlatform 'java7'
            targetPlatform 'java8'
            binaries.java7Jar {
                dependencies {
                    compile group: 'xyz', name: 'dep7', version: '1.0'
                }
            }
            binaries.java8Jar {
                dependencies {
                    compile group: 'xyz', name: 'dep8', version: '1.0'
                }
            }
        }
    }
}

但是失败并出现以下错误,

No signature of method: org.gradle.jvm.JarBinarySpec.dependencies() is applicable for argument types: ...

知道如何做到这一点吗?有可能吗? 注意:我不想将另一个项目声明为依赖项,我想从现有存储库下载依赖项。

最佳答案

我认为你必须将依赖项 block 包装到 java 闭包中,这就是文档中显示的方式

关于java - 在 Java 软件模型中指定变体特定的外部依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40991511/

相关文章:

spring - 在不同项目中使用时,具有相同依赖项的不同类文件

java - GWT 代码未编译

java - 从基数 9 更改为基数 10

gradle - 任务不必要地运行

android - 在 gradle 文件中更新我的应用程序版本的问题

jenkins - 即使jar在Maven本地,Gradle也会尝试访问远程存储库

java - 判断一个字符是大写、小写还是数字的程序

java - Android RunOnUIThread 不会永久改变 View 可见性

java - 在 Google App Engine 中获取屏幕尺寸

android - 错误 :Gradle: Execution failed for task ':app:compileDebugJava'