zoukankan      html  css  js  c++  java
  • Gradle项目使用zxing在windows下报错:android:jar must specify an absolute path but is /${env.ANDROID_HOME}/…

    Gradle项目使用zxing在windows下报错:android:jar must specify an absolute path but is /${env.ANDROID_HOME}/…

    idea在windows上build基于Gradle的SpringBoot项目报错 :

    > Task :prepareKotlinBuildScriptModel UP-TO-DATE
    Errors occurred while build effective model from C:Usersyzsdt.gradlecachesmodules-2files-2.1com.google.zxingcore3.4.07eab116a61512d8b669efcd69446cc45243bd28core-3.4.0.pom:
        'dependencyManagement.dependencies.dependency.systemPath' for com.google.android:android:jar must specify an absolute path but is /${env.ANDROID_HOME}/platforms/android-22/android.jar in com.google.zxing:core:3.4.0
    
    BUILD SUCCESSFUL in 2s
    

    根据错误提示应该是com.google.zxing包通过ANDROID_HOME变量引用了android.jar。

    解决方法

    1、将android.jar引用删除

    这个过程有些曲折,通过报错信息中的路径找到了com.google.zxing的pom文件,但是在其中没有发现android.jar的引用,后来在zxing的parent的pom中找到了android.jar的引用,将其注释,保存。

    2、将相对路径改为绝对路径

    <!-- ANDROID_HOME must be absolute, but redundant leading / may help Gradle Spring Boot plugin -->
    
      <systemPath>/${env.ANDROID_HOME}/platforms/android-${android.platform}/android.jar</systemPath>
    

    报错信息提示需要改为绝对路径,而且在zxing的parent的pom中也明确这一点

    因此将systemPath改为一个绝对路径并且在该路径下新建了一个空的android.jar(新建一个txt,改名为android.jar),保存。

    参考资料:

    https://blog.csdn.net/c5113620/article/details/104656630
    https://github.com/zxing/zxing/issues/904
    https://github.com/zxing/zxing/issues/941

  • 相关阅读:
    Synchronized和Lock的实现原理和锁升级
    如何禁止CPU指令重排
    MESI缓存一致性
    归并排序
    强软弱虚四种引用和ThreadLocal内存泄露
    VINS-Mono代码分析与总结(完整版)
    IMU误差模型与校准
    小感
    K8S conul部署
    Centos Consul集群及Acl配置
  • 原文地址:https://www.cnblogs.com/geniuszhd/p/13586353.html
Copyright © 2011-2022 走看看