zoukankan      html  css  js  c++  java
  • bytedeco opencv在gradle中无法使用的问题

    bytedeco opencv是一个opencv的封装,所有依赖都可以在maven中央库中找到,是一个非常方便的东西。

    如果你是用构建工具,那么只需要引入

     <dependency>
        <groupId>org.bytedeco</groupId>
        <artifactId>javacv</artifactId>
        <version>1.2</version>
      </dependency>

    就应该可以正常使用。

    因为opencv对于不同平台需要不同平台对应的编译,所以构建项目的时候会去下载对应的编译依赖,如果你使用gradle就会遇到这种问题

    Could not resolve all dependencies for configuration ':compileClasspath'.
    > Could not find javacpp-presets-Windows 8.1-amd64.jar (org.bytedeco:javacpp-presets:1.2).
      Searched in the following locations:
          https://repo1.maven.org/maven2/org/bytedeco/javacpp-presets/1.2/javacpp-presets-1.2-Windows 8.1-amd64.jar
    

    去仓库看看,的确没有这个文件。但是这种方式在maven中工作。

    那是因为默认的解析规则是javacpp-presets-${os.name}-${os.arch}.jar,而maven和gradle中的解析有一些不同之处,所以最简单的处理办法是自己手动引入对应的编译依赖

    compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '3.1.0-1.2'
    compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '3.1.0-1.2', classifier:'windows-x86_64'
    

    然后去掉默认的依赖解析

    configurations {
        all*.exclude group: 'org.bytedeco', module: 'javacpp-presets'
    }

    如果不想硬编码classifier,可以在gradle中加上对应的判断即可。

  • 相关阅读:
    如何将 Python 程序打包成 .exe 文件?
    无穷滚动(Infinite scroll)的实现原理
    图片延迟加载(lazyload)的实现原理
    Java 基础 -- 泛型、集合、IO、反射
    Ubuntu on win10
    让自己少走点弯路
    使用MongoDB 记录业务日志
    19个JavaScript数组常用方法总结
    Kubernetes 使用Nginx-Ingress实现蓝绿发布/金丝雀发布/AB测试
    官方golang包管理神器
  • 原文地址:https://www.cnblogs.com/lykbk/p/wewewew232323232323232323232.html
Copyright © 2011-2022 走看看