使用Eclipse生成的Ant文件生成Javadoc时遇URI非绝对路径错误的解决方法
解决Java 8 Javadoc工具无法识别Jar内Javadoc URI的问题
我之前也碰到过这个坑,Java 8的Javadoc工具对jar:格式的URI要求确实比旧版本严格很多。你遇到的URI is not absolute错误,根源在于配置的URI格式不符合Java 8的解析标准。
问题原因
你原来的配置里,file:/开头的路径不符合RFC规范的绝对URI格式,Java 8的Javadoc工具会判定这是相对路径,从而抛出异常。另外,jar: URI的完整格式需要明确的协议标识和绝对路径结构。
解决方案
你可以按照下面的方式修改Ant配置里的<link>标签:
修正URI格式(推荐方案)
把file:/替换成file:///(三个斜杠),这是本地文件绝对URI的标准写法。修改后的配置如下:<link href="jar:file:///Users/GregD/.m2/repository/org/apache/httpcomponents/httpcore/4.4.6/httpcore-4.4.6-javadoc.jar!/"/>如果你的Javadoc jar内部的文档不是直接放在根目录(比如常见的
api/子目录),记得加上对应的内部路径,比如:<link href="jar:file:///Users/GregD/.m2/repository/org/apache/httpcomponents/httpcore/4.4.6/httpcore-4.4.6-javadoc.jar!/api/"/>备选方案:解压Javadoc jar后链接目录
如果你担心URI格式还有问题,可以先把httpcore-4.4.6-javadoc.jar解压到本地目录(比如解压到httpcore-javadoc文件夹),然后直接链接到这个目录,这种方式更直观,也不容易出错:<link href="file:///Users/GregD/.m2/repository/org/apache/httpcomponents/httpcore/4.4.6/httpcore-javadoc/"/>
修改完之后再执行Ant的Javadoc任务,应该就能正常识别了。
内容的提问来源于stack exchange,提问作者Greg Dougherty
相关产品推荐
相关产品推荐

