我用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总是抛出这个错误框(非常烦人)。
在该位置的COED
<taglib>
<taglib-uri>xx.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/xx.tld</taglib-location>
</taglib>
和文件中的xx定义
<!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>
问题根本不是taglib,它只是Eclipse的错误描述。
这是项目facet与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"
然后会出现这个错误..将facet改为2.3或web.xml改为2.5 ...换句话说:它们必须匹配..
就我而言,使用该版本解决了这个问题
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
在构建路径中的jar。尽管存在新版本,早期的旧版罐子仍在使用。
右键单击Eclipse中的项目 - >构建路径 - >配置构建路径 - >项目构面 - >取消选中动态Web模块
注意:只要您不打算通过嵌入式应用服务器从eclipse中运行Web应用程序,这种方法就很好。
我在尝试更新Eclipse中的maven项目时遇到了这个错误(ALT + F5)。
网嗯
<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
以下是我可以解决的问题:
从web-app
元素中删除所有xml-schema定义
<web-app>
然后更新maven项目(ALT + F5)。
重新插入架构定义并重新更新项目(ALT + F5)。
根据web-app_2_5.xsd中包含的jsp_2_1.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"/>
当我在js-config中包装taglib时,错误消失了。
<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。
我刚刚得到了相同的症状,使用maven的web-app项目。在我的例子中,与web.xml中的struts taglib标签有关,并且该项目具有struts v1.2.9依赖性。我通过切换到struts v1.3.10解决了这个问题。不要问为什么这解决了这个问题。
如果您处于相同的情况并且将struts依赖关系从1.2.9升级到1.3.10,请确保在web.xml的DOCTYPE声明中至少使用dtd v2.3:
!DOCTYPE web-app PUBLIC“ - // Sun Microsystems,Inc.//DDD Web Application 2.3 // EN”“http://java.sun.com/j2ee/dtds/web-app_2_3.dtd”
或者你会遇到另一个问题(如果没有互联网连接,你的webapp将无法启动)
希望这可以帮助
我怀疑问题出在Eclipse Web Tools Platform和Java EMF Model上。这是一个插件列表的图像,包括来自Eclipse Web Tools Platform的Java EMF Model和JEM内容:
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
我设法通过从每个有问题的项目的.project文件中删除验证器来解决这个问题。
目前,如果它只是您想要解决的烦人错误消息,那么作为短期修复,请看一下禁用验证:Eclipse 'loading descriptor' takes ages
如果上述方法不起作用,另一种方法是使用AHK(Autohotkey),这将在您的最后需要更多的工作。 (我已经使用AHK脚本几年了,以摆脱我不关心的Eclipse Error弹出窗口)
Eclipse Bug 198630差不多5年后被提出,并且有a comment,它与OP有几乎相同的错误信息。 (错误本身最终被关闭,因为不可重现)。
我有以下问题:
WORKSPACE_HOME/.metadata/.log
。有关更多详细信息,请查看this。)我有以下建议:
我有一个类似的错误使用eclipse 4.3(Kepler),maven 3.1.0,tomcat 6.0.37和jdk7(也安装了jre6),并找到了解决方案来修复它或者至少通过配置tomcat来摆脱繁琐的错误在日食。
在Preferences-> Server-> Runtime Environments中,定义新的运行时环境“Apache Tomcat 6.0”并从已安装的JRE中选择jre6安装。
然后查看项目属性中的Targeted Runtimes。 Apache Tomcat v6.0应与Java Runtime Environment v1.6相关联(如果尚未定义,请按new并检查所选JRE是否为java 1.6运行时)。
希望能帮助到你
我能够将项目Java facet更新为1.5并且错误已停止。