【问题标题】:JSDoc without Java?没有Java的JSDoc?
【发布时间】:2013-08-06 06:45:35
【问题描述】:

我正在尝试合并 JSDoc into my Grunt 部署过程。当我运行它时,我收到以下错误(预期):

>> JAVA_HOME is not set. Jsdoc requires Java to run.
Fatal error: Bad argument

我知道 JSDoc 是基于 java 的,但我希望将 Java 完全从等式中删除。有没有办法使用现有的 grunt 插件或仅在 Node 中运行该进程的其他插件来做到这一点?

我不想只为一项任务添加 Java。这是傻事吗?

【问题讨论】:

  • 没有理由的否决票?请,如果您要对我投反对票,请提供反馈。

标签: node.js npm gruntjs jsdoc


【解决方案1】:

目前的 grunt jsdoc 插件无法做到这一点。问题当然在于底层的 jsdoc 实用程序。您可以在此处跟踪他们支持 node.js 而不是 Rhino 的进度:

https://github.com/jsdoc3/jsdoc/issues/93

但是,关于您看到的该错误,请注意几点。

  • 至少在 Linux 上,只要 java 在路径中,您就可以放心地忽略该错误,它仍然会生成。
  • 有关 JAVA_HOME 和 grunt-jsdoc-plugin 的其他讨论,请参见 this question

【讨论】:

  • jsdoc 和 grunt-jsdoc 的最新版本是纯 JavaScript,不再需要 Java。
【解决方案2】:

Mozilla Rhino 所需的对 Java 的 JSDoc 依赖项已在 JSDoc 3.3.0 中删除。 JSDoc GitHub page 声明:

在 JSDoc 3.3.0 及更高版本中提供了对 Node.js 的原生支持。 JSDoc 支持 Node.js 0.10 及更高版本。

JSDoc v3.3.0 仍处于 alpha 发布状态(3.3.0-alpha4 于 2014 年 1 月 26 日发布),所以要安装最新的 alpha 版本使用:

npm install jsdoc@"<=3.3.0"

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,并构建了一个包装 JSDoc 3.3 的小 Grunt 插件(不需要 Java,全部在 Node 中运行):

    https://github.com/usrz/javascript-grunt-jsdoc-ng

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 2014-02-12
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多