changing="true"当离线/断开连接时,如何让Ivy 从本地缓存中解析依赖关系(包括依赖关系)?
我正在开发一个基于Java的开源项目,该项目使用Apache Ivy来解析和下载第三方依赖项.该项目build.xml有一个命名的蚂蚁目标resolve,下载常春藤(如果需要),然后使用常春藤来检索所需的罐子.
在线时一切都很棒.但是,如果没有Internet访问,ant resolve即使所需的jar文件位于本地Ivy缓存(~/.ivy2/cache)中也会失败.似乎Ivy正在尝试连接到Maven存储库以刷新changing="true"依赖关系.
我得到的错误类似于以下内容:
[ivy:retrieve] You probably access the destination server through a proxy server that is not well configured.
[ivy:retrieve] You probably access the destination server through a proxy server that is not well configured.
[ivy:retrieve]
[ivy:retrieve] :: problems summary ::
[ivy:retrieve] :::: WARNINGS
[ivy:retrieve] Host repo.example.com not found. url=http://repo.example.com/exampleorg/examplename/examplerev/ivys/ivy.xml
[ivy:retrieve] Host repo.example.com not found. url=http://repo.example.com/exampleorg/examplename/examplerev/jars/examplename.jar
[ivy:retrieve] module not found: exampleorg#examplename;examplerev
[ivy:retrieve] ==== local: tried
[ivy:retrieve] ~/.ivy2/local/exampleorg/examplename/examplerev/ivys/ivy.xml
[ivy:retrieve] -- artifact exampleorg#examplename;examplerev!examplename.jar:
[ivy:retrieve] ~/.ivy2/local/exampleorg/examplename/examplerev/jars/examplename.jar
[ivy:retrieve] ==== shared: tried
[ivy:retrieve] ~/.ivy2/shared/exampleorg/examplename/examplerev/ivys/ivy.xml
[ivy:retrieve] -- artifact exampleorg#examplename;examplerev!examplename.jar:
[ivy:retrieve] ~/.ivy2/shared/exampleorg/examplename/examplerev/jars/examplename.jar
[ivy:retrieve] ==== repo: tried
[ivy:retrieve] http://repo.example.com/exampleorg/examplename/examplerev/ivys/ivy.xml
[ivy:retrieve] -- artifact exampleorg#examplename;examplerev!examplename.jar:
[ivy:retrieve] http://repo.example.com/exampleorg/examplename/examplerev/jars/examplename.jar
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :: UNRESOLVED DEPENDENCIES ::
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :: exampleorg#examplename;examplerev: not found
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve]
[ivy:retrieve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
BUILD FAILED
~/exampleproj/build.xml:123: impossible to resolve dependencies:
resolve failed - see output for details
Run Code Online (Sandbox Code Playgroud)
ant -verbose resolve按警告建议运行会在输出中打印以下行:
[ivy:retrieve] don't use cache for exampleorg#examplename;examplerev: changing=true
Run Code Online (Sandbox Code Playgroud)
如何changing="true"在离线时让Ivy 从缓存中解析依赖关系,但在线时继续查询每个构建的存储库?
Mar*_*nor 13
奥尔斯已回答了这个问题,但这并不明显.
尝试从命令行运行构建设置ivy.cache.ttl.default属性:
ant -Divy.cache.ttl.default=eternal build
Run Code Online (Sandbox Code Playgroud)
资料来源:
| 归档时间: |
|
| 查看次数: |
10602 次 |
| 最近记录: |