2011-08-16 27 views
5

私はEclipseで新しい動的Webプロジェクトを作成すると、自動的にweb.xmlを作成し、次のエラーを示した:CVC-elt.1:要素「ウェブアプリ」の宣言を見つけることができません

cvc-elt.1: Cannot find the declaration of element 'web-app'

と上の赤い背景このライン:

<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 

私はこのエラーが発生する理由を知りたいとどのようにこのエラーを取り除くために。 プロジェクトでEclipseバージョン3.1、Apache Tomcat 5.0およびJDK 1.4を使用しました。私はEclipseにとってかなり新しいです。

答えて

2

私はEclipse 4.1、Apache Tomcat 7.x、JDK 1.6でこれを見ています。明らかに、XSDファイルをキャッシュすることと関係しています。 Some peopleは、スキーマの代わりにDTDを使用するweb.xmlの代替構文を提供します。しかし、キャッシュを単にオフにすることを提案したsolutionで成功しました。その最後のリンクでも、XSDを手動でダウンロードしてインストールすることをお勧めします。

更新:自分でXSDをダウンロードし、Eclipse XMLカタログに手動でインストールしようとしました。 Java XSDサーバーに問題があることが明らかになりました.XSDをダウンロードしてキャッシュしようとしたときにEclipseが見たのは明らかです。おそらく、Oracle/Sunが連携してサーバーが再び動作を開始すると、Eclipseはこのエラーを表示しなくなります。その間に、私はキャッシングをオフにし、私がどれくらいの距離を取るかを見なければならないでしょう。

更新日: Sunサーバーが少し回復したら、XSDファイルをダウンロードして、半永久的な場所にローカルに保存してください。その後、Eclipseの環境設定でXMLカタログを検索し、XSDファイルへの参照を付けます。これでEclipseがファイルをダウンロードしてキャッシュしようとしているのを防ぐことができました。これは、Sunサーバーを信頼できない場合に最適なソリューションであり、明らかに不可能です。あなたがXMLの先頭にDOCTYPE要素を追加する必要が

+0

リンクされたソリューションサイトに問題がありましたが、Eclipse Neonの場合、関連オプションはWindow-> Preferences-> General-> Network Connections-> Cache-> Disable Cachingです。そのボックスをチェックしてから、きれいにしてビルドします。 –

3

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

これをXMLの先頭に追加します:<!DOCTYPE web-app PUBLIC " - // Sun Microsystems、Inc.//DTD Web Application 2.3 // EN" "http://java.sun.com/dtd/web -app_2_3.dtd "> – sanjay

+0

2.3 DTDが間違ったバージョンです。質問にはweb-appバージョン2.4が必要で、web-app_2_4.dtdはありません – gb96

1

また、私はこの問題に出くわしたと合理的なものが見つかりませんでした。迅速な解決策。ワークスペースを完全に削除して、プロジェクトのクローンをもう一度取ります。問題は再び表示されません。それは私を助けた。

0

私は無意識にインターネット接続を失ったため、xsdが利用できないという意味でこのエラーが発生しました。再接続すると解決しました

関連する問題