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:\Users\yzsdt\.gradle\caches\modules-2\files-2.1\com.google.zxing\core\3.4.0\b7eab116a61512d8b669efcd69446cc45243bd28\core-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

posted @ 2020-08-30 19:32  卡洛蒙  阅读(4868)  评论(0编辑  收藏  举报