【发布时间】:2010-10-28 19:17:49
【问题描述】:
我正在构建 jar,我想在没有源的情况下打包它们,但我希望 javadoc 在 eclipse 中为开发人员提供。
【问题讨论】:
我正在构建 jar,我想在没有源的情况下打包它们,但我希望 javadoc 在 eclipse 中为开发人员提供。
【问题讨论】:
Javadocs 是源代码的一部分,因为任何编译的类都不会包含任何注释 - Javadocs 是 cmets。
换句话说,你不能。
【讨论】:
JAR 的用户可以在使用 JAR 的 Java 项目的 Java 构建路径属性中将 Javadoc 位置(存档中的 URL、文件或路径)关联到它。
我不确定这在与二进制文件相同的 JAR 中使用 Javadoc 的效果如何(以前从未见过),但理论上它应该可以工作。
【讨论】:
Apache Ant javadoc 任务将生成 API html。 通常,您会将其作为 zip 文件与您的 jar 一起分发。
【讨论】:
您的构建过程是什么? Maven 发布过程实际上生成了 3 个 jar,一个包含已编译的类,一个包含源代码,一个包含 javadocs。您应该能够自定义 POM 以防止分发源 jar,并且任何使用 Maven 管理依赖项的人如果声明对您的 jar 的依赖项(并在 eclipse maven 插件中打开 javadoc 下载),将自动获取 javadoc。
【讨论】:
JIDE have a tool(成本 25 美元)将运行您的源代码并删除所有方法主体,留下 javadoc,并生成一个 zip 文件。然后,您可以将此 zip 作为源 zip 分发,并且您的 IDE 将能够读取 javadocs,但当然您的所有逻辑都已被删除,因此您可以保留您的封闭源代码。 zip 文件中不包含任何私有成员和方法。
它还有一个额外的好处是为智能感知保留方法参数名称,所以下面的方法
public void foo( String text, Integer index ) {
}
会在自动完成时显示 foo( String text, Integer index ),而不是 foo( String arg1, Integer arg2 ) 以便您可以提示参数是什么应该是。
【讨论】: