Granite DS Actionscript代码生成Ant无法找到类错误

时间:2012-06-07 08:38:13

标签: actionscript-3 flex ant graniteds

我正在尝试使用我的Ant构建来运行花岗岩DS Actionscript代码生成任务并遇到一些问题。目前我收到了这个错误:

BUILD FAILED
C...\build.xml:62: Could not load Java class file: SampleDTOOne.class

所以显然找到了.class文件。我不确定这个错误是否意味着它无法加载.class文件或它无法找到实际的java源代码。

我的Ant任务定义如下所示:         

        <classpath>
            <pathelement location="C.../src/packages/" />    
        </classpath>

        <fileset dir="${base.build.dir}/jc/classes/gpbit/packageName">
            <include name="*.class" />
        </fileset>

    </gas3>

我已经为类路径尝试了许多不同的值,但无法使其工作。我不喜欢我用来查找.class文件的路径,但目前这是我唯一能够工作的路径。这些变量似乎都没有让它更容易到达这个位置。 该文件集肯定是有效的,因为它肯定发现.clas文件在错误消息中包含该名称。

更详细的错误消息:

 [gas3] Using output dir: C...trunk\plugin\build/etc/src/as3
 [gas3] Using classpath: C...\trunk\plugin\src\packages
 [gas3] Loading all Java classes referenced by inner fileset(s) {
 [gas3] java.lang.ClassNotFoundException: SampleDTOOne
 [gas3]     at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1361)

任何非常感谢的帮助

1 个答案:

答案 0 :(得分:1)

请查看文档here。基本用法示例如下:

<gas3 outputdir="as3">
    <classpath>
        <pathelement location="classes"/>
    </classpath>

    <fileset dir="classes">
        <include name="com/myapp/entity/**/*.class"/>
    </fileset>
</gas3>

请注意,您希望Gas3处理生成的类文件(在文件集部分中)必须也在类路径部分中(因此可以通过使用此类路径配置的类加载器加载它们)。

因此,您的配置应如下所示:

<gas3 outputdir="as3">
    <classpath>
        <pathelement location="${base.build.dir}/jc/classes"/>
    </classpath>

    <fileset dir="${base.build.dir}/jc/classes">
        <include name="gpbit/packageName/*.class"/>
    </fileset>
</gas3>

如果您的课程使用第三方jar,请将它们包含在类路径中。

PS:Gas3从不使用Java源代码,它只基于Java反射。