java - 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"
它应该如何工作?
解决方案
Gradle 不支持 Maven 配置文件,我们需要它来使其正常工作。我们需要创建一个插件,例如 sbt-javacpp来实现与 Gradle 类似的功能。
推荐阅读
- r - 乘以 n 次
- ios13 - 参考错误:找不到变量:IntersectionObserver
- datetime - 将 VARCHAR 转换为日期时间
- deployment - 封闭基础设施中的应用程序部署
- sql - SQL - 消除查询中的重复行
- angular - 如何使用 @HostListener('window:beforeunload') 取消路由?
- java - 如果我必须将以下 JSON 转换为 Java 对象,我的 DTO 类应该是什么样子?
- r - 如何使用 plotmath 将表达式放在另一个表达式之上
- python - onehotencoding 时功能名称丢失
- swift - 加入频道中调用 Agora 时的额外参数“byToken”