web-dev-qa-db-fra.com

Eclipse FeatureNotFoundException

J'ai construit mon projet avec maven Toutes les constructions sont réussies et la génération de propriétés Eclipse est également une réussite.

Mais lorsque j'ouvre le projet dans Eclipse 4, j'obtiens cette erreur.

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)

A cet endroit j'ai quelques propriétés 

Bien que le projet se déroule sans heurts et que tout se passe bien, lors de l'exploration du projet dans le volet de navigation, Eclipse affiche toujours cette zone d'erreur (assez gênant).

COde à cet endroit

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

et xx définitions int son fichier

<!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>
20
Reddy

Le problème n'est pas du tout la balise tagl, c'est juste une mauvaise description d'erreur par Eclipse.

c'est la facette du projet contre web.xml dtd .. leurs versions doivent correspondre!

si le fichier web.xml indique:

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

mais le projet a un 

 "Dynamic Web Module 2.5"

alors cette erreur se produira .. changez la facette en 2.3 ou web.xml en 2.5 ... en d’autres termes: elles doivent correspondre .. 

25
Henrik

J'ai rencontré cette erreur en essayant de mettre à jour un projet maven dans 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">

et facette du projet

Dynamic Web Modul 3.0

Voici comment je pourrais le réparer:

Suppression de toutes les définitions xmls-schema de l'élément web-app

<web-app>

puis mettez à jour le projet maven (ALT + F5).

Réinsérez les définitions de schéma et remettez à jour le projet (ALT + F5).

6
A4L

Selon jsp_2_1.xsd incluse dans web-app_2_5.xsd, la balise taglib doit être dans la balise 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"/>

Lorsque j'ai enveloppé taglib dans js-config, l'erreur a disparu.

<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>

Les analyseurs précédents étaient probablement plus indulgents. Ma configuration: Eclipse Luna, maven intégré 3.2.1, web.xml 2.5, facette de projet Web dynamique 2.5.

3
CodeMonkey

J'ai pu mettre à jour la facette Java du projet à la version 1.5 et les erreurs se sont arrêtées.

0
rlsport

Pour le moment, s'il ne s'agit que du message d'erreur gênant que vous souhaitez corriger, alors, en tant que solution à court terme, désactivez la validation ici: Le descripteur de chargement Eclipse prend des années

Si ce qui précède ne fonctionne pas, vous pouvez également utiliser AHK (Autohotkey), ce qui nécessiterait un peu plus de travail de votre côté. (J'utilise un script AHK depuis quelques années maintenant pour me débarrasser des fenêtres contextuelles d'erreur Eclipse qui ne me dérangent pas)

Eclipse Bug 198630 a été soulevé il y a près de 5 ans et en ce qu'il y a un commentaire qui a un message d'erreur presque identique à celui de l'OP. (Le bogue lui-même a finalement été fermé car il n'est pas reproductible).

J'ai les questions suivantes pour vous:

  1. Serait-il possible pour vous de nous montrer le journal des erreurs? (Pour consulter le journal des erreurs, vous pouvez consulter la vue Journal des erreurs ou en consultant le fichier actuel: WORKSPACE_HOME/.metadata/.log. Veuillez consulter this pour plus d'informations.)
  2. Utilisez-vous des adaptateurs de serveur spécifiques tels que WebLogic ou Glassfish?

J'ai les recommandations suivantes:

  1. Dans le fil de discussion du bogue Eclipse, le problème a été corrigé au moins une fois par la mise à jour vers une version JST spécifique. Par conséquent, serait-il possible pour vous d'exécuter une mise à jour Eclipse et de voir si le problème est résolu? (Cela peut être fait en allant dans Aide -> Rechercher les mises à jour)

  2. Serait-il possible d'essayer d'importer le projet dans Eclipse Indigo (au lieu de Juno, que vous avez actuellement) et de voir si vous pouvez reproduire Le problème? (Les téléchargements Eclipse Indigo sont disponibles ici et je pense que vous auriez besoin de la version Java EE)

0
Ashutosh Jindal

J'ai réussi à résoudre ce problème en supprimant le validateur du fichier .project de chacun des projets posant problème.

0
Keith

J'ai eu une erreur similaire avec Eclipse 4.3 (Kepler), maven 3.1.0, Tomcat 6.0.37 et jdk7 (jre6 également installé), et j'ai trouvé une solution pour y remédier ou au moins pour éliminer les erreurs fastidieuses en configurant Tomcat dans Eclipse.

Dans Préférences-> Serveur-> Environnements d'exécution, définissez un nouvel environnement d'exécution "Apache Tomcat 6.0" et sélectionnez l'installation de jre6 à partir des JRE installés. 

Passez ensuite en revue les temps d'exécution ciblés dans les propriétés du projet. Apache Tomcat v6.0 doit être associé à Java Runtime Environment v1.6 (si ce n’est pas encore défini, appuyez sur new et vérifiez que le JRE sélectionné est un environnement d’exécution Java 1.6).

J'espère que ça aide

0
brokenboa

Je viens d'avoir les mêmes symptômes, avec un projet d'application Web utilisant Maven. Dans mon cas, était lié aux balises struts taglib dans web.xml et au projet ayant une dépendance struts v1.2.9. J'ai résolu le problème en passant à struts v1.3.10. Ne demandez pas pourquoi cela a résolu le problème.

Si vous êtes dans la même situation et que vous mettez à jour votre dépendance struts de 1.2.9 à 1.3.10, veillez à utiliser au moins dtd v2.3 dans la déclaration DOCTYPE de votre web.xml:

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

ou vous aurez un autre problème (votre application Web ne démarrera pas sans une connexion Internet)

J'espère que cela t'aides

0

Dans mon cas, ce problème a été résolu en utilisant la version 

org.Eclipse.emf.ecore.xmi_2.10.2.v20150123-0348 et org.Eclipse.emf.ecore.xmi.source_2.10.2.v20150123-0348 et org.Eclipse.emf.ecore.xmi_2.10.2.v20150123-0348 et org.Eclipse.emf.ecore.xmi.source_2.10.2.v20150123-0348 et org.Eclipse.emf.common_2.10.1.v20150123-0348 

pots dans le chemin de construction . Les anciens pots de l'ancienne version étaient utilisés malgré la présence de la nouvelle version. 

0
Kritika Anand

Je soupçonne que le problème vient de la plate-forme d'outils Web Eclipse et du modèle Java EMF. Voici une image d'une liste de plug-ins comprenant le modèle Java EMF et les éléments JEM de la plateforme d'outils Web Eclipse: List of plugins including Java EMF Model and JEM stuff from Eclipse Web Tools Platform

https://stackoverflow.com/users/1503535/nitin-gurram , votre trace de pile ressemble-t-elle à ceci?

!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
0
Dale