我必须声明使用的开放式版本范围上的另一个Maven构件的依赖,比如这一个Maven项目:Maven站点错误与版本范围
<dependency>
<groupId>org.terracotta.toolkit</groupId>
<artifactId>terracotta-toolkit-1.0</artifactId>
<version>[1.0.0-SNAPSHOT,]</version>
</dependency>
(我知道这是在一定程度上要价对于使用这种版本范围的麻烦,但对于这个特定的项目,我们有很好的理由这样做。)
大多数情况下,这工作正常,但当试图生成与“mvn网站”项目网站,我尝试创建“依赖关系管理报告”时出现以下错误:
[INFO] Generating "Dependency Management" report. Downloading: http:/XXXXXXXXXX/content/groups/public/org/terracotta/toolkit/terracotta-toolkit-1.0/[1.0.0-SNAPSHOT,]/terracotta-toolkit-1.0-[1.0.0-SNAPSHOT,].pom
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Invalid uri 'http://XXXXXXXXXX/content/groups/public/org/terracotta/toolkit/terracotta-toolkit-1.0/[1.0.0-SNAPSHOT,]/terracotta-toolkit-1.0-[1.0.0-SNAPSHOT,].pom': escaped absolute path not valid
[INFO] ------------------------------------------------------------------------
[INFO] Trace java.lang.IllegalArgumentException: Invalid uri 'http://XXXXXXXXXX/content/groups/public/org/terracotta/toolkit/terracotta-toolkit-1.0/[1.0.0-SNAPSHOT,]/terracotta-toolkit-1.0-[1.0.0-SNAPSHOT,].pom': escaped absolute path not valid
正如您从消息中看到的那样,它会尝试使用开放式版本范围规范而不是解析版本号构建URI,这当然会失败。
任何人都可以告诉我,如果有解决方法吗?
不错,很高兴你发现了一个问题和解决方案! – 2010-11-17 22:10:37