如何修复在番石榴错误中找不到的配置
Posted
技术标签:
【中文标题】如何修复在番石榴错误中找不到的配置【英文标题】:how to fix configuration not found in guava error 【发布时间】:2014-10-19 18:35:12 【问题描述】:我试图解决本地文件系统的依赖关系;为此,我编写了 ivy.xml、ivyconf.xml 和 build.xml。但是,我的脚本不起作用并且无法解决依赖关系,即找不到 jar 文件。背后的问题是什么?还有,我该如何解决?
错误
Error
[ivy:resolve] com.google.guava#guava;17.0: configuration not found in
com.google.guava#guava;17.0: 'public'. It was required from
.. runtime
项目层次结构
project
| - - src
| - - lib
| - - guava.jar
| - - conf
| - - ant
| - - build.xml
| - - ivy
| - - ivy.xml
| - - ivyconf.xml
ivy.xml 文件
<ivy-module version="2.0">
<configurations defaultconfmapping="runtime->public">
<conf name="compile" visibility="private"/>
<conf name="jar"
extends="compile"
visibility="private"/>
<conf name="runtime"
extends="jar"
visibility="public"/>
</configurations>
<dependencies>
<dependency org="com.google.guava" name="guava" rev="17.0" conf="runtime->public"/>
</dependencies>
</ivy-module>
最后,ivyconf.xml
<conf defaultresolver="local"/>
<resolves>
<filesystem name="local">
<artifact pattern="$lib.dir/**/*.jar" />
</filesystem>
</resolves>
【问题讨论】:
【参考方案1】:您的 ivy 配置文件无效(“解析器”不是“解析”)。此外,如果 jar 文件的文件名中不包含版本,您将遇到依赖版本控制问题。
我的建议是使用以下 ivy 配置文件:
<ivysettings>
<settings defaultResolver='central' />
<resolvers>
<ibiblio name='central' m2compatible='true'/>
<filesystem name='local'>
<artifact pattern='$ivy.settings.dir/../../lib/[artifact]' />
</filesystem>
</resolvers>
<modules>
<module organisation='NA' resolver='local' />
</modules>
</ivysettings>
然后您可以选择如下声明您的依赖项:
<dependency org="com.google.guava" name="guava" rev="17.0" />
<dependency org="NA" name="guava" rev="NA" conf="runtime->default"/>
第一个将从Maven central repository 检索,第二个将从您的本地文件系统检索。
有关此方法的更多示例,请参阅以下答案:
IVY Build, how do I use an extlib directory in the project? Ivy dependency management for legacy repository希望这会有所帮助。
【讨论】:
我应该把我确定我的 ivy 配置是正确的,但我仍然不断收到错误消息。我不知道是怎么回事,但我的 IVY 缓存被搞砸了。清除缓存(我使用 rm -rf)并再次运行构建。
【讨论】:
以上是关于如何修复在番石榴错误中找不到的配置的主要内容,如果未能解决你的问题,请参考以下文章
如何修复错误在 Angular 2 clickeditor 中找不到名称“对象”
如何修复错误 ITMS-90032:“无效的图像路径 - 在键 'CFBundleIcons' 下引用的路径中找不到图像:'AppIcon60x60'”?
如何在带有 nvm 的 MacO 上使用 Husky 和 SourceTree 修复这些错误? “在 PATH 中找不到节点”和“当前目录不是 git 目录!”
如何修复 Xcode 中找不到的“firebase_auth/FirebaseAuthPlugin.h”文件?