我正在为我的项目生成Javadoc,我想链接到我们使用的其他项目的api。我正在做以下事情:(我已经尝试过使用和不使用packagelistURL和各种版本的API,即使我们使用3.1)
<target name="javadoc" depends="initLocal">
<echo>Generating javadoc</echo>
<javadoc packagenames="*" sourcepath="${srcdir}" destdir="${docdir}" access="public" verbose="false">
<link offline="false" href="http://docs.oracle.com/javase/6/docs/api/" />
<link offline="false" href="http://commons.apache.org/proper/commons-lang/javadocs/api-3.1/" packagelistURL="http://commons.apache.org/proper/commons-lang/javadocs/api-3.1/package-list"/>
</javadoc>
</target>
我可以看到它成功地链接到Java SE6 API,但我似乎无法让它使用common -lang API。当我运行构建时,我看到以下内容:
[javadoc] C:pathtomyprojectmyClass.java:6: package org.apache.commons.lang3.builder does not exist
[javadoc] import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
[javadoc] ^
[javadoc] C:pathtomyprojectmyClass.java:7: package org.apache.commons.lang3.builder does not exist
[javadoc] import org.apache.commons.lang3.builder.ToStringStyle;
这似乎有点奇怪,因为API链接工作,我可以在API中看到这两个类。项目可以正确编译,并且commons-lang jar位于项目的构建路径中。
关于我在这里做错了什么有什么想法吗?
您已经指定了一个链接,但是您还没有指定类路径—您需要告诉javadoc
任务在哪里找到包含这些类型的jar文件(或其他),就像您在构建时所做的那样。您应该为javadoc
使用与javac
任务相同的类路径。