我们已经在一个 maven (3.0.5) 项目上工作了几个月,在建立新的开发环境(没有本地 maven 存储库)时突然出现这个错误:
[ERROR] Failed to execute goal on project [100's of dependencies truncated]: Failed to read artifact descriptor for org.apache.httpcomponents:httpclient:jar:${httpcomponents.version}: Could not transfer artifact org.apache.httpcomponents:httpclient:pom:${httpcomponents.version} from/to nexus (http://bob.premitech.net:8081/nexus/content/groups/public): Illegal character in path at index 96: http://bob.premitech.net:8081/nexus/content/groups/public/org/apache/httpcomponents/httpclient/${httpcomponents.version}/httpclient-${httpcomponents.version}.pom -> [Help 1]
我正在使用一个多模块项目,您可能认为错误的显而易见的事情是 ${httpcomponents.version} 没有定义。除非它在父 pom 中定义为 4.2.5。更奇怪的是,硬编码版本而不是使用属性不会更改错误消息。
我什至尝试过完全删除 http 组件依赖项。这也无济于事。唯一有效的方法是将正确的依赖项手动复制到本地 maven 存储库 (.m2) 中,这完全违背了首先使用 maven 的目的。
有人知道这里可能出了什么问题吗?是否有某种我不知道的缓存机制?