把库成功上传到jcenter后(上传过程下篇文章介绍),出现了一个很奇怪的问题,明明成功上传,为什么在代码中应用报错了?
gradle 引用代码
compile ‘com.apkfuns.logutils:library:1.0.0’
报错的内容
Error:(63, 13) Failed to resolve: com.apkfuns.logutils:library:1.0.0
但是我确定jcenter已经上传成功,在jcenter库中能看到详细信息。
http://jcenter.bintray.com/com/apkfuns/logutils/library/1.0.0/
尝试了各种方法,比如在最后加上@aar之类的各种方法都没用
最后公司导师提示,才想到可能maven-metadata.xml和library-1.0.0.pom中artifactId参数不一致的原因。
maven-metadata.xml中artifactId为上传的module的名称,我的module叫library,意思为依赖库
library-1.0.0.pom中的artifactId是自己设定的,我取的项目名logutils
最后新加了1.0.1版本,将library-1.0.0.pom中的artifactId也设定为library就能正常加载了。
http://jcenter.bintray.com/com/apkfuns/logutils/library/1.0.1/
告诫上传库到jcenter的各位,
不要将需要上传的库名取名为library
不要将需要上传的库名取名为library
不要将需要上传的库名取名为library
重要的事要说三遍。
一般gradle依赖项目路径为:GROUPID:ARTIFACTID:VERSION
ARTIFACTID默认为项目名,如果还有其他库就必须靠GROUPID来区分了。
而且gradle引用后显示的也不清楚。比如我的这个库
你能看出来这是什么库吗?体验相当不好。
重要:所以最开始创建的时候就用项目名就OK了。