我正在尝试在下面的代码段中使用setTextContent
方法,我在Eclipse中遇到了这个编译错误:
类型
的方法setTextContent(String)
Element
未定义
但是一旦我改变了buildpath的顺序,我就能够无错误地编译这段代码。
import org.w3c.dom.Element;
import org.w3c.dom.Node;
Element element = (Element) list.item(i);
Node node = list.item(i);
if ("Date ".equals(node.getNodeName())) {
element.setTextContent("");
}
是否有其他方法而不是更改构建路径?
答案 0 :(得分:19)
getTextContent/setTextContent
方法 - 这是在Java 5中添加的。您使用的是哪个版本的jre,还检查您是否安装了两个jre。
您需要在eclipse中转到项目的属性。然后选择“Java Build Path”和“Order and Export”选项卡。在这里,您可以安排依赖项的顺序。确保您的JRE高于Maven依赖项。
转到“订购和导出”选项卡,选择jdk库并单击Buton TOP 将其一直向上移动,这样就必须成为第一批使用的库。
将xml-apis-1.0.b2.jar
(或您拥有的版本)一直移到底部,经过内置的JVM库。
答案 1 :(得分:1)
不要在同一个类中包含两个具有相同方法签名的库。
换句话说,如果你复制完全限定的类,你就受到类加载器的支配。当你可以控制它时,很好,但就个人而言,我认为这很可怕。
一个更不优选的解决方案是从其中一个库中物理删除有问题的功能,但是您可能会遇到甚至更糟糕的问题。