java - 如何在 Netbeans 的 Jar 中嵌入 Javadoc

标签 java netbeans jar javadoc

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

我尝试过的事情:

  • 使用“清理并构建”和仅“构建”
  • 导出整个 dist 文件夹,而不仅仅是 jar。
  • 将 javadoc 放入 jar 中。

最佳答案

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

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

Files Tab

接下来,您需要在编译和处理 jar 之间的构建过程中注入(inject)一些功能。通读build.xml内的信息,-post-compile target 可能是我们想要开始的地方。

读完 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>

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

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

关于java - 如何在 Netbeans 的 Jar 中嵌入 Javadoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33556296/

相关文章:

java - 在gradle中包括本地源jar,以便使用Eclipse?

java - 为什么代码只显示 `1 2` ?

java - 每次监听器执行时如何更改面板的图形?

php - 通过浏览器显示 MAMP htdocs 中的所有文件

java - 我们可以在该类类型的同一类默认构造函数中创建实例变量吗?

java - IVY/JAR 错误 - java.lang.NoClassDefFoundError : org/apache/poi/ss/usermodel/Row

java - 在 Spring 使用 Haversine 公式获取最近的位置

java - 在没有 ChannelFuture 的情况下写入 Netty channel

Netbeans 不显示我的代码

java命令行批处理文件