我正在尝试使用我的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)
任何非常感谢的帮助
答案 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反射。