2010-11-17 62 views
0

我必须声明使用的开放式版本范围上的另一个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,这当然会失败。

任何人都可以告诉我,如果有解决方法吗?

回答

0

事实证明,这是Maven 2.2.1中修复的一个bug。我误以为我已经在使用Maven 2.2.1。

+0

不错,很高兴你发现了一个问题和解决方案! – 2010-11-17 22:10:37

0

如果您将赤陶工件的版本修复为1.0.0,它会正常工作吗?

此外,您正在使用哪个版本的Maven?按照此链接:

如果你使用Maven 3.x中,你将有问题与mvn site

+0

当工件固定为版本1.0.0(或任何其他特定版本号)时,它可以正常工作。我仍然使用Maven版本2.2.1进行网站生成(并且也尝试了Maven 2.2.0)。 – 2010-11-17 16:47:41