【问题标题】:Can't get DocBlox to work with Netbeans无法让 DocBlox 与 Netbeans 一起使用
【发布时间】:2012-01-02 11:29:37
【问题描述】:

我正在尝试让 Mac 版 Netbeans 与 DocBlox 集成以生成文档。我按照instructions on the docblox site 与netbeans 集成,但是当我实际尝试生成文档时,我没有得到任何输出,并且输出窗口中出现以下内容:

DocBlox version 0.17.2

PHP Warning:  mkdir(): Permission denied in /usr/local/php5-20111115-115202/lib/php/DocBlox/src/DocBlox/Task/Project/Parse.php on line 120

PHP Stack trace:
PHP   1. {main}() /usr/local/php5-20111115-115202/bin/docblox:0
PHP   2. DocBlox_Task_Project_Run->execute() /usr/local/php5-20111115-115202/bin/docblox:55
PHP   3. DocBlox_Task_Project_Parse->execute() /usr/local/php5-20111115-115202/lib/php/DocBlox/src/DocBlox/Task/Project/Run.php:141
PHP   4. DocBlox_Task_Project_Parse->getTarget() /usr/local/php5-20111115-115202/lib/php/DocBlox/src/DocBlox/Task/Project/Parse.php:270
PHP   5. mkdir() /usr/local/php5-20111115-115202/lib/php/DocBlox/src/DocBlox/Task/Project/Parse.php:120
Warning: mkdir(): Permission denied in /usr/local/php5-20111115-115202/lib/php/DocBlox/src/DocBlox/Task/Project/Parse.php on line 120

Call Stack:
    0.0004     655768   1. {main}() /usr/local/php5-20111115-115202/bin/docblox:0
    0.0227    3376320   2. DocBlox_Task_Project_Run->execute() /usr/local/php5-20111115-115202/bin/docblox:55
    0.0246    3538264   3. DocBlox_Task_Project_Parse->execute() /usr/local/php5-20111115-115202/lib/php/DocBlox/src/DocBlox/Task/Project/Run.php:141
    0.0546    3867832   4. DocBlox_Task_Project_Parse->getTarget() /usr/local/php5-20111115-115202/lib/php/DocBlox/src/DocBlox/Task/Project/Parse.php:270
    0.0546    3868056   5. mkdir() /usr/local/php5-20111115-115202/lib/php/DocBlox/src/DocBlox/Task/Project/Parse.php:120

ERROR: The given location "Reefknot" is not a folder

DocBlox creates documentation from PHP source files. The simplest way to use it is:

    $ docblox run -d <directory to parse> -t <output directory>

This will parse every file ending with .php, .php3 and .phtml in <directory to parse> and then
output a HTML site containing easily readable documentation in <output directory>.

DocBlox will try to look for a docblox.dist.xml or docblox.xml file in your current working directory
and use that to override the default settings if present. In the configuration file can you specify the
same settings (and more) as the command line provides.

Usage:
 docblox project:run [options]

-h [--help]                   Show this help message
-q [--quiet]                  Silences the output and logging
-c [--config] [STRING]        Configuration filename OR "none", when this option is omitted DocBlox tries to load the docblox.xml or docblox.dist.xml from the current working directory
-f [--filename] STRING        Comma-separated list of files to parse. The wildcards ? and * are supported
-d [--directory] STRING       Comma-separated list of directories to (recursively) parse.
-t [--target] [STRING]        Path where to store the generated output (optional, defaults to "output")
-e [--extensions] [STRING]    Optional comma-separated list of extensions to parse, defaults to php, php3 and phtml
-i [--ignore] [STRING]        Comma-separated list of file(s) and directories that will be ignored. Wildcards * and ? are supported
-m [--markers] [STRING]       Comma-separated list of markers/tags to filter, (optional, defaults to: "TODO,FIXME")
-v [--verbose]                Provides additional information during parsing, usually only needed for debugging purposes
--title [STRING]              Sets the title for this project; default is the DocBlox logo
--template [STRING]           Sets the template to use when generating the output
--force                       Forces a full build of the documentation, does not increment existing documentation
--validate                    Validates every processed file using PHP Lint, costs a lot of performance
--parseprivate                Whether to parse DocBlocks tagged with @internal
--visibility [STRING]         Specifies the parse visibility that should be displayed in the documentation (comma seperated e.g. "public,protected")
--defaultpackagename [STRING] name to use for the default package.  If not specified, uses "default"
--sourcecode                  Whether to include syntax highlighted source code
-p [--progressbar]            Whether to show a progress bar; will automatically quiet logging to stdout

我已将目标目录 chmod 为 0777,但仍然不高兴。

有人知道这里出了什么问题吗?我正在运行通过 PEAR 安装的 OSX Lion、Netbeans 7.1RC2 和 DocBlox 0.17.2

【问题讨论】:

  • 抱歉,忘记粘贴了。立即修复
  • 那么,什么是“礁结”?它说,该文件夹不存在。显示一些配置。请注意,您不能假设 DocBlox 是使用项目文件夹作为工作目录来调用的。这意味着,您应该避免使用相对路径。
  • Netbeans 不会让您指定相对路径,如果您尝试这样做,它实际上会显示警告。我怀疑 netbeans 中指定的路径没有传递给 docblox。不知道该怎么办。
  • 配置方面,netbeans中唯一的选择就是PhpDocumentor脚本的路径。 DocBlox 网站说只需将其指向 docblox 脚本即可。

标签: php macos netbeans docblocks docblox


【解决方案1】:

短版
看来您需要修改 NetBeans 的 phpdoc 批处理文件,如下所述:https://github.com/docblox/docblox/issues/195

说明
该问题可能是由 Netbeans 使用 phpDocumentor 的快捷方式 (-ti) 传递标题引起的。我假设您的项目名为 Reefknot,而 Netbeans 尝试添加 -ti Reefknot 作为最后一个参数。

由于 DocBlox 无法处理双字符快捷方式符号,它会将 -ti 解释为 -t,因此会导致 Docblox 尝试写入文件夹“Reefknot”。

【讨论】:

    猜你喜欢
    • 2012-02-21
    • 2014-10-31
    • 2018-01-02
    • 2016-11-14
    • 2015-02-01
    • 2019-05-10
    • 2017-11-20
    • 2011-05-24
    • 2019-05-17
    相关资源
    最近更新 更多