1

私の標準の ant ビルドは、間違ったファイル名で誤ってサブクラスをコンパイルしてしまいました。以下はサンプルクラスです。

public final class AdminResources
{

   public static final class APPLICATION
   {
            public static final class MESSAGEBLOCK
            {
               public static final String LEDGER = "application.admin.app.messageblock.ledger";
            }
    }
}

build.xml ファイルからの部分的なサンプル。

<target name="Compile_Sources" depends="Init_Dir" description="Compile Sources">
    <javac
        debug="true"
        srcdir="${source.dir}"
        destdir="${build.dir}"
        classpathref="classpath">                   
    </javac>
</target>

ビルド プロセスはエラーなくスムーズに実行されましたが、上記のクラス サンプルに基づいて、以下のような追加の不要なファイルが生成されました。

  • AdminResources.class (これで問題ありません)
  • AdminResources$APPLICATION.class
  • AdminResources$APPLICATION$MESSAGEBLOCK.class

以下、私の環境での情報です。

  • アリのバージョン: 1.9.0
  • Java: 1.7.0-u21
4

1 に答える 1

4

これは ANT のコンパイルとは関係ありません。2 つのファイルは、 の内部クラスからコンパイルされたクラス ファイルですAdminResources。プログラムを手動でコンパイルしたとしても、プログラムに含まれる可能性のある無名クラスを含め、クラスごとに 1 つのファイルになってしまいます。

Class name                                File name
---------------------------------------   ---------------------------------------------
AdminResources                            AdminResources.class
AdminResources.APPLICATION                AdminResources$APPLICATION.class
AdminResources.APPLICATION.MESSAGEBLOCK   AdminResources$APPLICATION$MESSAGEBLOCK.class
于 2013-07-22T15:45:04.397 に答える