2010-11-17 64 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