Gradle 项目启动时报错:com.google.zxing

542 阅读2分钟
Errors occurred while build effective model from xxx com.google.zxing:xxx

1. 错误描述

Gradle 项目启动的时候,控制台报错,虽然没有影响运行,但是看着很很难受 报错信息:

Errors occurred while build effective model from D:\Program\Gradle\gradle-repo\caches\modules-2\files-2.1\com.google.zxing\core\3.3.2\9bef844add16a35db6636825c54e1e84cc560316\core-3.3.2.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.3.2
Errors occurred while build effective model from D:\Program\Gradle\gradle-repo\caches\modules-2\files-2.1\com.google.zxing\javase\3.3.2\2a2225f48c4e3caccfe1de121156480b16055b3b\javase-3.3.2.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:javase:3.3.2

image.png

2. 解决办法

根据描述提示可以得知,com.google.zxing 需要一个绝对路径,但是得到的路径是个相对路径,所以解决办法就是找到 pom 文件,把这个路径换为一个绝对路径即可。

需要注意的是,改的 pom 文件,并非报错提示中的 core-3.3.2.pom 和 javase-3.3.2.pom,而是一个叫 zxing-parent-3.3.2.pom 的文件。

image.png

我们可以先进到 com.google.zxing 目录下,默认位置是C:\Users\xxx\.gradle\caches\modules-2\files-2.1\com.google.zxing(xxx是你操作系统账号的用户名),我在 IDEA 中指定了 Gradle 的缓存目录,所以我的这个目录是:D:\Program\Gradle\gradle-repo\caches\modules-2\files-2.1\com.google.zxing\zxing-parent

进这个目录

image.png

如果有多个版本,可以都改一下。我当前项目实际用的是 3.3.2,但是这里有两个版本,本次我就都改一下。

image.png

先修改 3.3.2,其他版本修改方式一样。

image.png

这里就可以看到我们要修改的 pom 文件了。

image.png

首先在当前目录下,新建一个文件,名称改为android.jar,然后复制一下当前的路径。

image.png

然后打开zxing-parent-3.3.2.pom文件,搜索<systemPath>,应该会找到下面的内容,这就是我们要修改的内容。

image.png

把我们刚刚复制的路径粘贴到这个地方,注意路径最后要保留android.jar,还有注意路径分隔符需要修改为\

image.png

保存,关闭文件。

3. 修改效果

修改完后重新编译,不会再报这个错误了:

image.png