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
  • 爪哇:1.7.0-u21
4

1 回答 1

4

这与 ANT 编译无关:这两个文件是从AdminResources. 即使你手动编译你的程序,你最终会得到每个类一个文件,包括你的程序可能有的匿名类:

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 回答