2012-09-07 43 views
2

当我尝试生成一个javadoc,使用菜单命令项目\生成Javadoc,下面的警告和错误都制作了我的自定义类XPages中:如何生成javadoc的XPages中

javadoc: warning - No source files for package net.focul.utilties 
javadoc: warning - No source files for package net.focul.workflow 
javadoc: error - No public or protected classes found to document. 

的包位于构建路径中配置的WebContent/WEB-INF/src文件夹中,并且可以在Generate Javadoc向导中进行选择。这些课程以公开的方式公开。

如果选择这些,则会为所有Xpage和自定义控件类生成Javadoc。

+0

可能重复在这里:http://stackoverflow.com/questions/9144503/is-there-a-way-to-generate-javadoc-from-within-domino-designer –

回答

0

当您在Designer中展开net.focul.utilities时,您将看到所有的方法和属性。但是当你点击这些方法时,你会看到新的源代码。 所以这是javadoc无法生成文档的地方。我想应用程序的作者没有提供你的源代码。如果你有源代码,你可以附上这段代码,然后javadoc将能够生成文档。

1

由于javadoc不理解Designer VFS(虚拟文件系统),所以遇到此行为。它假设您的项目由本地硬盘驱动器上的一些文件夹结构中的一堆单独文件组成,而不是单个NSF内的独立文件。总体而言,Designer VFS通过拦截对项目资源的读/写请求以及导入/导出DXL或CD记录等方式成功诱使Eclipse相信它与本地文件进行交互。但显然他们没有将这种方式应用于javadoc以及。具有讽刺意味的是,它们永远不会存储在NSF中。因此,对于每个XPage和Custom Control所对应的Java源文件都会成功处理,因为具有讽刺意味的是,它们不会存储在NSF中。在每个项目构建过程中,Designer会放弃已经生成的任何项目,并根据各种.xsp文件的当前内容重新创建它们。然后将这些Java文件编译为.class文件,其中作为设计说明存储在NSF内部。在运行时,它是从VFS中提取并执行的这些文件...源代码在这一点上不再重要,所以没有理由不必在NSF中包含.java文件,所以它们只是保持在硬盘。此行为的一个迹象是,在Package Explorer/Navigator中查看时,该文件夹被命名为“本地”。

如果您正在使用内置版本控制集成(请参阅this article以获得有关如何使用此功能的详细说明),您可以调整构建路径以包含src的副本文件夹存储在磁盘项目中作为“链接的源文件夹”。这会导致javadoc考虑重复的有效源文件,因此将它们包含在生成的文档中。不利的一面是,它也会导致Designer将其视为有效的源文件,这会导致由于重复而导致的编译错误。因此,如果您只需要不频繁地生成文档,那么这种方法就是可行的,因此可以暂时破坏构建路径以仅运行javadoc,然后恢复为通常的设置。

另一种方法是以这种方式实际维护自定义Java代码:不是在NSF内部的WEB-INF中创建文件夹,而是在存储源的硬盘驱动器上创建一个文件夹,然后包含该文件夹作为链接源文件夹无限期地定位。那样Designer仍然可以找到源代码,但javadoc也可以。 注意:如果你走这条路线,那么你肯定需要使用SCM。由于您的源代码不再存在于NSF中,因此提供了我们习惯于将源代码提供给其他开发人员的便利容器,并确保将其包含在您使用的任何备份计划中,因此您的源代码现在已经生效在您的本地硬盘上。因此,请确保您定期将这些文件提交到Git/Subversion/Mercurial等,或者至少将它们存储在一些经常备份的文件服务器上,并且如果适用的话,可以让所有其他成员项目团队。

0

我遇到了同样的情况,我发现最直接的方法是将源文件导出到外部文件夹,然后使用常规Eclipse来生成JavaDoc。我不确定我的流程比Tim的建议更加麻烦,但对我来说,与尝试应对VFS变幻莫测相比,它的风险更小。

+0

我觉得它最容易留在设计师。只需将软件包复制粘贴到Java项目并从那里生成Javadoc。 javadoc.exe的位置需要在“Javadoc命令”字段中输入。 –