首页 > 解决方案 > gradle.properies 中的 Gradle 系统属性没有被使用吗?(javacpp,智能)

问题描述

根据 JavaCPP 文档,如果我们设置系统属性:javacpp.platform=linux-x86_64它不应该下载其他平台:

这是来自javacpp

...这会下载所有平台的二进制文件,但要仅获取一个平台的二进制文件,我们可以将 javacpp.platform 系统属性(通过 -D 命令行选项)设置为 android-arm、linux-x86_64、macosx-x86_64 , windows-x86_64 等

在Gradle中设置系统属性的方法:

使用 -D 命令行选项,您可以将系统属性传递给运行 Gradle 的 JVM。gradle 命令的 -D 选项与 java 命令的 -D 选项作用相同。

您还可以在 gradle.properties 文件中使用前缀 systemProp 设置系统属性。

但是它会下载所有平台。我尝试了不同的方法来设置该属性,没有任何区别:

在 gradle.properties 中:

systemProp.javacpp.platform=linux-x86_64    
systemProp.gradle.javacpp.platform=linux-x86_64
systemProp.system.javacpp.platform=linux-x86_64
sysProp.javacpp.platform=linux-x86_64
gradlePropertiesProp.javacpp.platform=linux-x86_64

或在 build.gradle 中:(在依赖项下)

System.setProperty("javacpp.platform","linux-x86_64")

在 build.gradle 我有:

compile "org.bytedeco:javacv-platform:1.4.2"

它应该如何工作?

标签: javagradleintellij-ideajavacvjavacpp

解决方案


Gradle 不支持 Maven 配置文件,我们需要它来使其正常工作。我们需要创建一个插件,例如 sbt-javacpp来实现与 Gradle 类似的功能。


推荐阅读