0

Ant ビルドで granite 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 に答える