对问题进行极端编辑以使其更有意义:
假设我需要使用本地版本的 httpclient 而不是我可以从在线仓库中提取的版本(由于签名原因)。我想处理这个的方式是这样的......
常春藤.xml
<dependencies>
...Other dependencies here
<dependency org="com.apache" name="httpclient" rev="4.2.2" conf="compile->default" ext="jar" />
</dependencies>
常春藤设置.xml
<settings defaultResolver="central"/>
<resolvers>
<url name="repo">
<ivy pattern="http://myServer:8080/Repo/[organisation]/[artifact]/[revision]/ivy.xml" />
<artifact pattern="http://myServer:8080/Repo/[organisation]/[artifact]/[revision]/[artifact].[ext]"/>
</url>
<url name="httpclient">
<artifact pattern="http://myServer:8080/Repo/com.apache/httpclient/4.2.2/[artifact].[ext]"/>
</url>
<modules>
<module organisation="com.apache" resolver="repo" />
<module organisation="com.httpclient" resolver="httpclient" />
</modules>
现在我在这里希望(并且运气不佳)是 com.apache 解析器正在寻找 myServer:8080/Repo/com.apache/httpclient/4.2.2/ivy.xml 并阅读它,这是该文件的内容:
ivy.xml(在 myServer:8080/repo/... 目录中)
<dependency org="com.httpclient" name="commons-codec" rev="1.6" />
<dependency org="com.httpclient" name="commons-logging" rev="1.1.1" />
<dependency org="com.httpclient" name="fluent-hc" rev="4.2.2" />
<dependency org="com.httpclient" name="httpclient" rev="4.2.2" />
<dependency org="com.httpclient" name="httpclient-cache" rev="4.2.2" />
<dependency org="com.httpclient" name="httpcore" rev="4.2.2" />
<dependency org="com.httpclient" name="httpmime" rev="4.2.2"/>
当您考虑到有多少 LOC 会添加到我们经常包含的内容中时,想要读取第二个 xml 文件而不是在我的第一个文件中包含标记的原因非常明显。它还使所有未来包括更容易。
现在我得到的错误是:
部分项目无法解析 无法解析 com.myCompany#myProgramt;working@CompName 的依赖 未解析的依赖:com.apache#httpclient;4.2.2: not found
感谢您对此事的帮助。