java Исходный код не компилируется с помощью jdk 6.
import org.w3c.dom.Node;
Node node = list.item(0);
String txtContent = node.getTextContent();
getTextContent() не найден в jdk 6
как решить эту проблему компиляции.
java Исходный код не компилируется с помощью jdk 6.
import org.w3c.dom.Node;
Node node = list.item(0);
String txtContent = node.getTextContent();
getTextContent() не найден в jdk 6
как решить эту проблему компиляции.
Я пришел сюда с той же проблемой. Еще хуже: у меня было два проекта бок о бок, оба были нацелены на те же JRE (1.6), и один смог разрешить Node.getTextContent(), а другой - нет. Я решил это как-то случайно; Я пошел в недвижимость проекта | Путь сборки Java | Вкладка "Заказ" и "Экспорт", выбрала JRE (которая была внизу списка) и нажала кнопку "Вверх", чтобы переместить ее вверх. Моя проблема исчезла. Похоже, что Node, который я хотел, был скрыт другим.: -\Возможно, это поможет с вашей проблемой.
Хотя поздняя почта... может быть, кто-то найдет это полезным.
Мне не нравилась настройка ручного проекта с JRE сверху, потому что все мои коллеги должны были проходить через это каждый раз, когда проект был импортирован, поэтому я нашел другое решение.
В моем случае у меня было следующее дерево зависимостей: org.reflections(0.9.8) → dom4j (1.6.1) → xml-apis (1.0.b2).
Чтобы исправить это, я добавил исключение в зависимости org.reflections, например:
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.8</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
</dependency>
В вашем случае, возможно, есть другая зависимость, которая импортирует неисправную банку. Например: Работа с "Xerces hell" в Java/Maven?
Пожалуйста, проверьте http://www.jarfinder.com/index.php/java/info/org.w3c.dom.Node, чтобы увидеть все банки, содержащие этот класс.
Я также столкнулся с подобной проблемой. Это не связано с исходным кодом. Шаги для решения проблемы:
Для тех, кто работает с спящим режимом, решение похоже на virussu_ro выше.
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.6.Final</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
</dependency>
Возможно, длинный снимок, но вы уверены, что используете JDK 6? Иногда IDE, такие как Eclipse, имеют раскрывающийся список в окне проекта, который позволяет вам выбрать версию, и может быть установлено значение 1.4. Или вы можете неправильно установить свой CLASSPATH. Стоит проверить, был ли у вас когда-либо установлен Java 1.4.
Я спрашиваю, потому что в JDK 1.5 был добавлен Node.getTextContent
, поэтому единственный способ объяснить его отсутствие состоит в том, что вы используете версию 1.4 для Java версии .w3c.dom.Node.
Попробуйте запустить этот код, чтобы определить местоположение контейнера:
System.out.println(System.getProperty("java.version"));
ProtectionDomain domain = org.w3c.dom.Node.class.getProtectionDomain();
System.out.println("domain: " + domain);
CodeSource codeSource = domain.getCodeSource();
if(codeSource != null) {
System.out.println("location: " + codeSource.getLocation());
} else {
System.out.println("null location, probably JRE class");
}
Может быть, есть jar на пути к классам, который содержит класс org.w3c.dom.Node и скрывает правильный.