您的依赖项之一是强制更新番石榴版本。使用
gradle dependencies以定位库驱逐你的版本。
您遇到的问题是,如果您强迫它使用14.0.1,则另一个库可能无法正常工作。您是否可以仅使用17.0版本作为依赖项?
我不是在build.gradle中维护单个版本号,而是使用dependencies.gradle文件,该文件将具有版本号的映射并将其拉入build.gradle。这样,我只需要维护单个番石榴版本。因此,您的示例将是:
Dependencies.gradle
ext { ver = [ guava: '14.0.1' ]}
然后在build.gradle文件中,您可以拥有:
apply from: "dependencies.gradle"dependencies { compile group: 'com.google.guava', module: 'guava', version: ver.guava compile group: 'com.google.guava', module: 'guava-gwt', version: ver.guava}
然后,当我想移至17.0时,我只需要更改dependencies.gradle。
我也是通过以下方式将可传递依赖项设置为false的绝对支持者
configurations.compile { transitive = false }
这样,即使退出库不是完全向后兼容的,尽管在运行时可能会出现问题,但是在编译时不会退出某些依赖项。面对现实吧,如果您正在编写代码,则应该了解所使用的库,并且应该清楚了解自己的依赖项。它可以保护您免受依赖性升级和混乱困扰之一。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)