Подтвердить что ты не робот

Eclipse FeatureNotFoundException

Я построил свой проект с maven Все успешные сборки и создание свойств eclipse также успешны.

Но когда я открываю проект в Eclipse 4, я получаю эту ошибку

An internal error occurred during: "Loading descriptor for SALYExplorer.".
org.eclipse.emf.ecore.xmi.FeatureNotFoundException: Feature 'taglib' not found. (platform:/resource/SALYExplorer/src/main/webapp/WEB-INF/web.xml, 313, 10)

В этом месте у меня есть некоторые свойства

Несмотря на то, что проект работает плавно, и все в порядке, просто изучая проект в области навигации, Eclipse всегда выдает это поле ошибки (довольно раздражает).

COde в этом месте

<taglib>
    <taglib-uri>xx.tld</taglib-uri>
    <taglib-location>/WEB-INF/tld/xx.tld</taglib-location>
</taglib>

и xx Определения int it file

<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
     "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_2.dtd">
<taglib>

  <tlib-version>1.0</tlib-version>
  <jsp-version>1.2</jsp-version>
.........
</taglib>
4b9b3361

Ответ 1

Проблема не в taglib вообще, это просто плохое описание ошибки Eclipse.

это грань проекта vs. web.xml dtd.. их версии должны соответствовать!

если web.xml говорит:

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

но проект имеет

 "Dynamic Web Module 2.5"

тогда эта ошибка произойдет. измените фасет на 2.3 или web.xml на 2.5... другими словами: они должны совпадать.

Ответ 2

Я столкнулся с этой ошибкой при попытке обновить проект maven в Eclipse (ALT + F5).

web.xml

<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="3.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

и грань проекта

Dynamic Web Modul 3.0

Вот как я мог это исправить:

Удалено все определение xmls-схемы из элемента web-app

<web-app>

затем обновите проект maven (ALT + F5).

Повторно вставьте определения схемы и повторно обновите проект (ALT + F5).

Ответ 3

Согласно jsp_2_1.xsd, включенному из web-app_2_5.xsd, тег taglib должен находиться в теге jsp-config:

<xsd:complexType name="jsp-configType">
<xsd:annotation>
  <xsd:documentation>

The jsp-configType is used to provide global configuration
information for the JSP files in a web application. It has
two subelements, taglib and jsp-property-group.

  </xsd:documentation>
</xsd:annotation>

<xsd:sequence>
  <xsd:element name="taglib"
       type="javaee:taglibType"
       minOccurs="0"
       maxOccurs="unbounded"/>
  <xsd:element name="jsp-property-group"
       type="javaee:jsp-property-groupType"
       minOccurs="0"
       maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>

Когда я завернул taglib в js-config, ошибка исчезла.

<jsp-config>
    <taglib>
        <taglib-uri>http://www.springframework.org/tags/form</taglib-uri>
        <taglib-location>/WEB-INF/taglibs/spring-form.tld</taglib-location>
    </taglib>
</jsp-config>

Предыдущие парсеры были, вероятно, более мягкими. Мой конфиг: Eclipse Luna, встроенный maven 3.2.1, web.xml 2.5, Dynamic Web Project facet 2.5.

Ответ 4

В настоящее время, если это просто раздражающее сообщение об ошибке, которое вы хотите исправить, тогда в качестве краткосрочного исправления ознакомьтесь с отключением проверки: Eclipse 'loading descriptor' принимает возрасты

Если вышеуказанное не работает, альтернативой будет использование AHK (Autohotkey), которое потребует немного больше работы с вашей стороны. (Я уже несколько лет использую AHK script, чтобы избавиться от всплывающих окон Eclipse Error, которые меня не волнуют)

Eclipse Ошибка 198630 была поднята почти 5 лет назад и в ней комментарий, который имеет почти идентичное сообщение об ошибке как OP. (Сама ошибка была окончательно закрыта, поскольку она не воспроизводима).

У меня для вас есть следующие вопросы:

  • Возможно ли, чтобы вы показали нам журнал ошибок? (Чтобы попасть в журнал ошибок, вы можете взглянуть на окно журнала ошибок или посмотреть фактический файл: WORKSPACE_HOME/.metadata/.log. Посмотрите this для получения более подробной информации.)
  • Используете ли вы какие-либо определенные серверные адаптеры, такие как WebLogic или Glassfish?

У меня есть следующие рекомендации:

  • В потоке ошибок eclipse проблема была исправлена ​​ по крайней мере один раз, обновив до конкретной версии JST. Следовательно, можно ли запустить обновление Eclipse и выяснить, разрешена ли проблема? (Это можно сделать, перейдя в Help → Check for Updates)

  • Можно ли попробовать импортировать проект в Eclipse Indigo (вместо Juno, который у вас есть) и посмотреть, можете ли вы воспроизвести проблема? (Загружаемые Eclipse Indigo доступны здесь, и я считаю, что вам понадобится Java EE версия)

Ответ 5

У меня появились те же симптомы, что и проект веб-приложений с использованием maven. В моем случае это связано с тегами taglib struts в web.xml, а проект имеет зависимость struts v1.2.9. Я решил проблему, переключившись на struts v1.3.10. Не спрашивайте, почему это решило проблему.

Если вы находитесь в той же ситуации и обновляете зависимость ваших расположений от 1.2.9 до 1.3.10, обязательно используйте как минимум dtd v2.3 в объявлении DOCTYPE вашего web.xml:

! DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"

иначе у вас возникнет другая проблема (ваш webapp не будет запускаться без подключения к Интернету)

Надеюсь, что это поможет

Ответ 6

Я подозреваю, что проблема связана с Eclipse Web Tools Platform и Java EMF Model. Вот образ списка плагинов, включая Java EMF Model и JEM, из Eclipse Web Tools Platform: List of plugins including Java EMF Model and JEM stuff from Eclipse Web Tools Platform

https://stackoverflow.com/users/1503535/nitin-gurram, ваша трассировка стека выглядит так?

!ENTRY org.eclipse.core.jobs 4 2 2012-09-28 12:10:00.554
!MESSAGE An internal error occurred during: "Loading descriptor for grch97.".
!STACK 0
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: org.eclipse.emf.ecore.xmi.FeatureNotFoundException: Feature 'taglib' not found. (platform:/resource/grch97/WEB-INF/web.xml, 891, 11)
    at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:319)
    at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:278)
    at org.eclipse.jem.internal.util.emf.workbench.ProjectResourceSetImpl.getResource(ProjectResourceSetImpl.java:1003)
    at org.eclipse.jst.jee.model.internal.JEE5ModelProvider.getModelResource(JEE5ModelProvider.java:169)
    at org.eclipse.jst.jee.model.internal.Web25ModelProvider.getModelObject(Web25ModelProvider.java:44)
    at org.eclipse.jst.jee.model.internal.JEE5ModelProvider.getModelObject(JEE5ModelProvider.java:215)
    at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.loadProviders(AbstractMergedModelProvider.java:261)
    at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.access$2(AbstractMergedModelProvider.java:255)
    at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider$LoadModelsWorkspaceRunnable.run(AbstractMergedModelProvider.java:278)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
    at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.loadModel(AbstractMergedModelProvider.java:249)
    at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getMergedModel(AbstractMergedModelProvider.java:219)
    at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getModelObject(AbstractMergedModelProvider.java:139)
    at org.eclipse.jst.jee.ui.internal.navigator.Web25ContentProvider.getNewContentProviderInstance(Web25ContentProvider.java:69)
    at org.eclipse.jst.jee.ui.internal.navigator.LoadingJeeDDJob.run(LoadingJeeDDJob.java:50)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: org.eclipse.emf.ecore.xmi.FeatureNotFoundException: Feature 'taglib' not found. (platform:/resource/grch97/WEB-INF/web.xml, 891, 11)
    at org.eclipse.emf.ecore.xmi.impl.XMLHandler.reportUnknownFeature(XMLHandler.java:1985)
    at org.eclipse.emf.ecore.xmi.impl.XMLHandler.handleUnknownFeature(XMLHandler.java:1949)
    at org.eclipse.emf.ecore.xmi.impl.XMIHandler.handleUnknownFeature(XMIHandler.java:145)
    at org.eclipse.emf.ecore.xmi.impl.XMLHandler.handleFeature(XMLHandler.java:1893)
    at org.eclipse.emf.ecore.xmi.impl.XMLHandler.processElement(XMLHandler.java:1017)
    at org.eclipse.emf.ecore.xmi.impl.XMIHandler.processElement(XMIHandler.java:81)
    at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:995)
    at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:706)
    at org.eclipse.emf.ecore.xmi.impl.XMIHandler.startElement(XMIHandler.java:163)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(Unknown Source)
    at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:175)
    at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLResourceImpl.java:240)
    at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1505)
    at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1284)
    at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoad(ResourceSetImpl.java:259)
    at org.eclipse.jem.internal.util.emf.workbench.ProjectResourceSetImpl.demandLoad(ProjectResourceSetImpl.java:811)
    at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:274)
... 14 more

Ответ 7

Мне удалось это исправить, удалив валидатор из файла .project для каждого из проектов, у которых была проблема.

Ответ 8

У меня была аналогичная ошибка с использованием eclipse 4.3 (Kepler), maven 3.1.0, tomcat 6.0.37 и jdk7 (также установлены jre6), и нашел решение исправить это или, по крайней мере, избавиться от утомительных ошибок путем настройки tomcat в eclipse.

В настройках- > Сервер- > Среды времени выполнения определите новую среду выполнения "Apache Tomcat 6.0" и выберите установку jre6 из установленных JRE.

Затем просмотрите Targeted Runtimes в свойствах проекта. Apache Tomcat v6.0 должен быть связан с Java Runtime Environment v1.6 (если еще не определено, нажмите new и убедитесь, что выбранная JRE - это среда выполнения java 1.6).

Надеюсь, что это поможет

Ответ 9

Мне удалось обновить грань проекта Java до 1.5 и ошибки были остановлены.

Ответ 10

В моем случае эта проблема была решена с помощью версии

org.eclipse.emf.ecore.xmi_2.10.2.v20150123-0348 и org.eclipse.emf.ecore.xmi.source_2.10.2.v20150123-0348 и org.eclipse.emf.ecore.xmi_2.10.2.v20150123-0348 и org.eclipse.emf.ecore.xmi.source_2.10.2.v20150123-0348 и org.eclipse.emf.common_2.10.1.v20150123-0348

в пути сборки.   Раньше баки старой версии использовались в дополнение к новой версии.