21

私は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 は常にこのエラー ボックスをスローします (非常に迷惑です)。

その場所のコード

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

および xx 定義 int ファイル

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

11 に答える 11

26

問題はtaglibではなく、Eclipseによるエラーの説明が悪いだけです。

それはプロジェクトファセット対web.xmldtdです。それらのバージョンは一致する必要があります!

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に変更します...言い換えると、これらは一致する必要があります。

于 2013-03-14T09:21:02.543 に答える
6

Eclipse で Maven プロジェクトを更新しようとしているときに (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

これを修正する方法は次のとおりです。

web-app要素からすべての xmls-schema 定義を削除しました

<web-app>

次に、maven プロジェクトを更新します (ALT+F5)。

スキーマ定義を再挿入し、プロジェクトを再更新します (ALT + F5)。

于 2014-05-06T07:11:04.963 に答える
4

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。

于 2014-05-16T17:01:57.783 に答える
1

とりあえず、修正したいのが迷惑なエラーメッセージである場合は、短期的な修正として、ここで検証の無効化を確認してください。Eclipseの「読み込み記述子」には時間がかかります。

上記が機能しない場合は、AHK(Autohotkey)を使用することもできます。これにより、最終的に少し多くの作業が必要になります。(私はここ数年AHKスクリプトを使用して、気にしないEclipseエラーポップアップを取り除きました)

Eclipse Bug 198630は、ほぼ5年前に発生し、OPとほぼ同じエラーメッセージを持つコメントがあります。(バグ自体は、再現可能ではないため、最終的にクローズされました)。

次の質問があります。

  1. エラーログを表示することはできますか?(エラーログを取得するには、エラーログビューを確認するか、実際のファイルWORKSPACE_HOME/.metadata/.logを確認します。詳細については、こちらをご覧ください。)
  2. WebLogicやGlassfishな​​どの特定のサーバーアダプタを使用していますか?

次の推奨事項があります。

  1. Eclipseバグスレッドでは、特定のJSTバージョンに更新することで、この問題が少なくとも1回修正されました。したがって、Eclipseの更新を実行して、問題が解決したかどうかを確認することは可能でしょうか?(これは、[ヘルプ]-> [更新の確認]に移動して実行できます)

  2. プロジェクトを(現在使用しているJunoの代わりに)Eclipse Indigoにインポートして、問題を再現できるかどうかを確認することは可能でしょうか?(Eclipse Indigoのダウンロードはここから入手できます。JavaEEバージョンが必要になると思います)

于 2012-08-06T09:55:38.310 に答える
0

問題は Eclipse Web Tools Platform と Java EMF Model にあると思われます。以下は、Java EMF モデルと Eclipse Web Tools Platform の JEM を含むプラグインのリストの画像です。 Java EMF モデルと Eclipse Web Tools Platform の 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
于 2012-09-28T16:25:12.720 に答える
0

プロジェクト Java ファセットを 1.5 に更新することができ、エラーは停止しました。

于 2014-05-15T20:26:09.683 に答える
0

eclipse 4.3 (Kepler)、maven 3.1.0、tomcat 6.0.37、および jdk7 (jre6 もインストール済み) を使用して同様のエラーが発生し、それを修正するか、少なくとも tomcat を構成して面倒なエラーを取り除く解決策を見つけました。日食で。

[設定] -> [サーバー] -> [ランタイム環境] で、新しいランタイム環境「Apache Tomcat 6.0」を定義し、インストール済みの JRE から jre6 インストールを選択します。

次に、プロジェクトのプロパティでターゲット ランタイムを確認します。Apache Tomcat v6.0 を Java Runtime Environment v1.6 に関連付ける必要があります (まだ定義されていない場合は、[新規] を押して、選択した JRE が Java 1.6 ランタイムであることを確認してください)。

それが役に立てば幸い

于 2013-09-18T10:22:21.303 に答える
0

Mavenを使用したWebアプリプロジェクトで、同じ症状が発生しました。私の場合、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.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"

または、別の問題が発生します (インターネットに接続しないと Web アプリケーションが起動しません)。

お役に立てれば

于 2012-08-24T00:33:44.793 に答える
0

問題が発生した各プロジェクトの .project ファイルからバリデーターを削除することで、これを修正することができました。

于 2012-12-19T16:11:56.077 に答える