Ant Java编译抛出找不到符号



我正在从事一个具有分层体系结构的项目。我有一个接口ABC在这个接口中我有一个枚举XYZ

为例

public interface ABC {
     public enum XYZ {
         CONSTANT1("SOMETHING"),
         CONSTANT2("SOMETHING3");
         final String name;
         private TYPE(String name) {
            this.name=name;
         }
         public String getName() {
            return this.name;
         }
     }
}

我正在使用ant编译这个,并在其他层使用这个jar文件。在这个图层中,我尝试像

这样访问它
String name=ABC.XYZ.CONSTANT1.getName();

我在编译过程中得到符号未找到错误。我验证了类路径设置是否正确。我使用的是ant v 1.8和java 1.6。

首先,不要在接口中嵌套枚举。如果它有自己的源文件以enum命名,那就完全没问题了。

第二,我假设你的意思是XYZ而不是TYPE在你的私有构造函数?

最后,您应该能够以这种方式使用它,无论是通过ant或在eclipse中编译还是直接使用javac。也许你没有编译所有的东西-你做它的方式,应该有ABC.class(接口),ABC$XYZ.class(内部枚举)和你的调用类的类文件。

相关内容

  • 没有找到相关文章

最新更新