0

我试图让我的 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)

非常感谢任何帮助

4

1 回答 1

1

看看这里的文档。基本使用示例如下:

<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 反射。

于 2012-06-07T22:35:10.597 回答