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