我有一个Maven项目,使用开放式版本范围声明对另一个Maven工件的依赖,例如:
<dependency>
<groupId>org.terracotta.toolkit</groupId>
<artifactId>terracotta-toolkit-1.0</artifactId>
<version>[1.0.0-SNAPSHOT,]</version>
</dependency>
(我知道在某种程度上要求使用这些版本范围时遇到麻烦,但对于这个特定的项目,我们有充分的理由这样做。)
在大多数情况下,这工作正常,但在尝试使用“mvn site”生成项目网站时,我在尝试创建依赖关系管理报告时收到以下错误:
[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 :(得分:0)
如果将兵马俑神器的版本修复为1.0.0,它是否可以正常工作?
另外,您使用的是哪个版本的Maven?根据这个链接:
如果您使用的是Maven 3.x,则会遇到mvn site
。
答案 1 :(得分:0)
这是Maven 2.2.0中修复的一个错误,已在Maven 2.2.1中修复。我错了,我已经在使用Maven 2.2.1了。