我的标准 ant build 不小心编译了一个文件名错误的子类。下面是示例类。
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
下面是我的环境信息
- Ant 版本:1.9.0
- Java:1.7.0-u21
最佳答案
这与ANT编译无关:这两个文件是从AdminResources
的内部类编译而来的类文件。即使您手动编译您的程序,您最终也会得到每个类一个文件,包括您的程序可能具有的匿名类:
Class name File name
--------------------------------------- ---------------------------------------------
AdminResources AdminResources.class
AdminResources.APPLICATION AdminResources$APPLICATION.class
AdminResources.APPLICATION.MESSAGEBLOCK AdminResources$APPLICATION$MESSAGEBLOCK.class
关于java - Ant编译创建不需要的java类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17791812/