我在使用 jaxb-ri-2.2.7 的 ant schemagen 任务中遇到了与 ClassCastException相同的问题。但是,我最大的问题不是问题本身,而是错误日志中的异常:
java.lang.ClassCastException: com.sun.tools.javac.api.JavacTrees cannot be cast to com.sun.source.util.Trees
通过调查问题,我发现它JavacTrees
是 的子类DocTrees
,并且DocTrees
是 的子类Trees
。具体来说,类定义是:
public class JavacTrees extends DocTrees {
// ...
}
public abstract class DocTrees extends Trees {
// ...
}
public abstract class Trees {
// ...
}
以上ClassCastException
基本上意味着一个对象未能转换为它的父类。我不记得在我读过的任何教科书中有类似的内容。
有人可以向我解释这个例外吗?谢谢。