我正在使用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类。
有人可以帮我解决这个问题吗?
Sphinx可用于记录Jython项目,但是autodoc不适用于用Java编写的代码。 autodoc功能可导入并检查Python模块。不支持对Java类执行相同的操作。
为Java实施autodoc(或类似的东西)似乎是可行的,但是必须有人自愿去做。参见Sphinx作者Georg Brandl的评论:https://www.mail-archive.com/[email protected]/msg03162.html。
[我发现了一些有关a proposed GSoC 2010 project的信息,旨在实现对autodoc的多语言支持。但是根据this blog post,该项目尚未完成。开发人员选择参与另一个GSoC项目。
sphinx-contrib repository不包含与自动文档有关的任何东西。
更新
[有一个名为javasphinx的新Sphinx扩展名,看上去很有趣。我没有使用此扩展名,但是根据the documentation,它可以从Java代码生成reST源:
javasphinx-apidoc
工具是sphinx-apidoc
工具的对点在Java域中。它可以用来从现有的生成reST源用Javadoc样式的注释标记的Java源代码。的然后,Sphinx将与手写文档一起处理生成的reST。
javasphinx使用了另一个名为javalang的库。
PyPI软件包: