如何在 Netbeans 的 Jar 中嵌入 Javadoc

How to Embed Javadoc in a Jar for Netbeans

是否可以从 NetBeans 自动将 javadoc 嵌入到 jar 中?在程序中有一个生成 javadoc 的选项。这将创建一个从项目中现有的 javadoc 生成的完整网站。还有一个选项可以将 javadoc 附加到项目或 jar,以便它显示在建议中。现在,当我单击构建然后获取 jar 并将其添加到另一台计算机上的项目时,jar 的 javadoc 没有显示。我必须手动将它复制到计算机并附加它,当我应该自动附加时,这似乎是多余的。

我尝试过的事情:

假设您正在使用默认的基于 Ant 的 Netbeans 项目,您将需要修改项目 build.xml 文件以包含 JavaDocs 的生成并将生成的文件复制到 build.classes.dir 中,这样他们可以被 Jar'ed

首先单击 Files 选项卡,在 Projects 选项卡旁边,展开您的项目节点,您将在根目录中看到 build.xml 文件

接下来,您需要在编译和 jar 处理之间的构建过程中注入一些功能。翻阅build.xml里面的资料,-post-compile目标大概就是我们要开始的地方了。

阅读 the javadoc ant task documentation 后,我将其添加到我的 build.xml

    <target name="-post-compile">
        <javadoc 
            sourcepath="src"
            defaultexcludes="yes"
            destdir="javadocs"
            author="true"
            version="true"
            use="true"
            windowtitle="The name of your API"
        >
            <doctitle><![CDATA[<h1>My API</h1>]]></doctitle>
            <bottom><![CDATA[<i>Copyright &#169; 2000 Dummy Corp. All Rights Reserved.</i>]]></bottom>
            <tag name="todo" scope="all" description="To do:"/>
            <link offline="true" href="http://docs.oracle.com/javase/8/docs/api/" packagelistLoc="C:\tmp"/>
            <link href="http://docs.oracle.com/javase/8/docs/api/"/>                
        </javadoc>
        <copydir src="javadocs" dest="${build.classes.dir}/javadocs"/>
    </target>

所以,我将它直接放在 build.xml 文件中的 <import file="nbproject/build-impl.xml"/> 下,但它的位置应该很重要。

这生成了一个包含 javadocs 目录(和 javadocs)的 jar 文件