7

我正在使用用 Java 编写的库处理几个 Jython 项目。感谢 autodoc 扩展,我想用 Sphinx 创建一些好的文档。但是,当我尝试创建 html 时,出现错误,因为 autodoc 找不到用 Java 编写的库:

sphinx-build -b html -d _build/doctrees   . _build/html
Running Sphinx v1.0.5
loading pickled environment... done
building [html]: targets for 1 source files that are out of date
updating environment: 0 added, 1 changed, 0 removed
reading sources... [100%] index

/Users/myName/myJythonProject/doc/index.rst:14: (WARNING/2) 
autodoc can't import/find module 'myJythonProject', it reported error: 
"global name 'PoolManager' is not defined",
please check your spelling and sys.path

其中 PoolManager 是一个 Java 类。

谁能帮我解决这个问题?

4

1 回答 1

6

Sphinx 可用于记录 Jython 项目,但autodoc不适用于用 Java 编写的代码。自动文档功能导入和检查 Python 模块。不支持对 Java 类做同样的事情。

为 Java 实现 autodoc(或类似的东西)似乎是可行的,但必须有人自愿去做。请参阅 Sphinx 作者 Georg Brandl 的评论:https ://www.mail-archive.com/sphinx-dev@googlegroups.com/msg03162.html 。

我发现了一些有关旨在为 autodoc 实现多语言支持的提议 GSoC 2010 项目的信息。但根据这篇博文,该项目尚未完成。开发人员选择从事另一个 GSoC 项目。

sphinx-contrib 存储库不包含任何与 autodoc 相关的内容。


更新

有一个名为javasphinx的新 Sphinx 扩展,看起来很有趣。我没有使用过这个扩展,但是根据文档,它可以从 Java 代码生成 reST 源:

javasphinx-apidoc工具是sphinx-apidocJava 域中工具的对位点。它可用于从已标记有 Javadoc 样式注释的现有 Java 源代码生成 reST 源代码。生成的 reST 然后由 Sphinx 与手写文档一起处理。

javasphinx 使用另一个名为javalang的库。

PyPI 包:

于 2012-03-30T21:23:25.513 回答