3

我似乎无法弄清楚为什么每次尝试在 Flash Builder 4 中编译 ASDoc 时都会继续收到此错误。

我在 ASDoc 中确实成功创建了一个 asdoc-output 文件夹,但它不完整。只显示了 toplevel.xml 和 tempdita 文件夹。

这是我的控制台上显示的错误

xsl 错误:在 processHTML.xslt 的第 46 行选择:
  java.io.FileNotFoundException:
  /Users/NEWYORK/abritez/Documents/workspaces/ate/ATE_Shell/asdoc-output/index.tmp(没有这个
  文件或目录)
  在 xsl:apply-templates (file:/Users/NEWYORK%5Cabritez/Documents/workspaces/ate/ATE_Shell/asdoc-output/tempdita/processHTML.xslt#25)
     处理/html
转换失败:报告了运行时错误

第 46 行在 ProcessHTML.xslt 是<xsl:choose>下面元素中的首字母。

<xsl:template match="html">
<xsl:copy-of select="$noLiveDocs"/>
<xsl:choose>
  <xsl:when test=".//frameset">
    <xsl:copy-of select="$frameDocType"/>
  </xsl:when>
  <xsl:otherwise>
    <xsl:copy-of select="$docType"/>
  </xsl:otherwise>
</xsl:choose>
<xsl:choose>
  <xsl:when test="$isLiveDocs"/>
  <xsl:otherwise>
    <xsl:value-of select="$markOfTheWeb"/>
  </xsl:otherwise>
</xsl:choose>
<xsl:element name="html">
  <xsl:apply-templates/>
  <xsl:copy-of select="$copyrightComment"/>
  <xsl:value-of select="$newline"/>
</xsl:element>
</xsl:template>

我去了外部工具配置并添加了 asdoc 的位置

/应用程序/Adobe Flash Builder 4/sdks/flex_sdk_4.1/bin/asdoc

然后我添加了我的工作目录

${workspace_loc:/ATE_Shell}

最后我插入了我所有的论点

-宽容
-source-path src -doc-sources src
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/ActivityToolkitLib/bin/ActivityToolkitLib.swc
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/ATE_Template/bin/ATE_Template.swc
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/AssesmentCommunicationLib/bin/AssesmentCommunicationLib.swc
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/BFW_UI/bin/BFW_UI.swc
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/DiagnosticReporter/bin/DiagnosticReporter.swc

更新:我最终回滚到 3.5 并做了一个测试应用程序,只有一种方法来记录并得到这个错误。

我的方法

package com.test
{
import mx.containers.Canvas;


public class Grouptest extends Canvas
{
    public function Grouptest()
    {
        super();
    }

    /**
     *  Hello
     * 
     * @param   value   Some string
     * */

    public function set testMe(value:String):void
    {
        trace("value " + value)
    }
}
} 

我的错误

加载配置文件 /Applications/Adobe Flash Builder 4/sdks/3.5.0/frameworks/flex-config.xml Adob​​e ASDoc
版本 3.5.0 构建 12683
版权所有 (c) 2004-2007 Adob​​e Systems, Inc. 保留所有权利。

错误:“”不是目录
使用“asdoc -help”获取有关使用命令行的信息

任何帮助或指向正确的方向都会非常感激。我过去运行过 ASDoc,所以我确信我一定忽略了一些东西。

4

3 回答 3

2

众所周知,ASDoc 不善于报告错误并给出红鲱鱼。

以下适用于 Flex 3。我认为它仍然适用于 Flex 4。

要记住的主要事情是,ASDoc 只执行一次,与编译器(至少)执行两次不同。这暴露了编译器为您隐藏的问题,通常如果您将某些内容声明为可绑定但不将类设置为 IEventDispatcher,编译器会在第一遍时为您作弊,但 ASDoc 只会失败。

另一个常见问题是使用 @see 等标签时找不到文件。如果路径命名错误,ASDoc 过去常常会翻倒而不生成。

根据我的经验,第三个最常见的问题是格式错误的 html 标签。忘记添加

或将 HTML 标签添加到不接受它们的 ASDoc 标签中。

可悲的是,因为 ASDoc 不善于报告这些错误并且不能优雅地处理错误,所以在不逐行检查代码的情况下找到问题所在是一场皇家噩梦......

于 2010-09-28T10:47:45.340 回答
1

我意识到您正在处理 4,但我遇到了与 3.5 相同的问题,因此以下可能适用:

发生这种情况是因为 asdocs 文件夹,更重要的是 asdocs/templates 文件夹没有包含在 Flex SDK 的 3.5 发行版中。只需从 3.4 或其他 3.x sdk 复制 asdocs 即可。

http://michael.omnicypher.com/2011/05/flex-35-and-using-asdocs.html

于 2011-05-14T02:32:37.817 回答
1

我有同样的问题。我终于找到了一篇关于同样问题的随机帖子,并为我解决了这个问题。

另一个带有 asdoc 生成的黑洞

[asdoc] [致命错误] toplevel.xml:90:2:元素的内容必须由格式良好的字符数据或标记组成。

[asdoc] 错误:无法创建 toplevel.xml:元素的内容必须由格式正确的字符数据或标记组成。

这是由解析器不喜欢的 asdoc 注释中的随机字符引起的。在我的情况下,几个 < 或 > 以及一个 @。

于 2011-05-24T22:38:35.330 回答