issue closed

EclipseのXMLエディタ一行目でDTDエラー「参照ファイルにエラーが含まれています」

投稿日:2019年7月10日 更新日:

事象

checkstyleのルールXMLをEclipseで開くと一行目にエラーマーク。

カーソルを合わせた時のメッセージ。

XMLのデータ構造整合性をチェックするDTD(Data Type Definition)がおかしい?

参照ファイルにエラーが含まれています 
(http://checkstyle.sourceforge.net/dtds/configuration_1_3.dtd)。
 For more information, right  click on the message in the Problems View and select "Show Details..."

DTDのURLにブラウザでアクセスすると正しい.dtdファイルが普通に落ちてくるので初見では「?」となります。

原因

EclipseのXMLエディタはDTDを落としに行って、初っ端リクエストで200以外が帰ってきた時はエラーにする仕様の為です。

今回はsourceforge.net → sourceforge.ioへと301リダイレクトが2回応答され、3回目のcheckstyle.orgでようやく200が帰ってきている通信内容でした。

1:http://checkstyle.sourceforge.net/dtds/configuration_1_3.dtd (301 : Move Permanently)
2:https://checkstyle.sourceforge.io/dtds/configuration_1_3.dtd (301)
3:https://checkstyle.org/dtds/configuration_1_3.dtd (200)

対処

最初からDTDのURLを、HTTPステータス200を返してくれるURL、この場合だと3回目のリクエストの「https://checkstyle.org/dtds/configuration_1_3.dtd」にしておくことで解消されます。

まとめ

この事象はEclipse初期から存在しています。

リダイレクトが終わるまで待っててくれてもいいんじゃないですかEclipseさん、とずっと思っていたけど出来るだけ早くリダイレクト先に移行しておいた方がいいですし、ローカルDTDを参照するのも新版に追従出来ていない感があるので割り切るようにしていました。

とは言えメッセージから内容が伝わり難いことは間違いなく、初見で遭遇するとなんでやねん状態になること請け合いです。

301が帰ってきたら「リダイレクトが返却されました。https://~~にDTDのURLを変更してください。」とかメッセージを出すくらいのサービス精神があってもいいんじゃないかなぁ、と思っていますが、XML自体がオワコン風潮ですから改善を期待するよりエラーナレッジを持っておく方が現実的な対処かも。

-issue closed
-, ,

執筆者:

関連記事

Apple PayのMerchant Doamin設定がPendingになり、Verifiedにならなかった原因

開発しているWebシステム上でApple Payによるクレジットカード選択が出来るようにするには「Apple Developer Program」で「Merchant Domain」を設定します。 O …

PuppeteerでGoogle検索すると「UnhandledPromiseRejectionWarning: Error: Node is either not visible or not an HTMLElement」

Puppeteerを新規インストールしてGoogle検索すると大概失敗、稀に成功します。 公式サンプルのGoogle Developers検索は動くのにGoogle検索は何でしっかり動かんの?となりま …

Eclipse上のpom.xmlが一行目で「Maven構成問題」エラー

目次1 事象2 原因3 対処4 暫定対処? 事象 STSで新規作成したばかりのSpring Bootプロジェクトで、pom.xmlの1行目がエラーになる。 Eclipseは「pleiades-2019 …

Angular11から12にng update @angular/cliしたらng serveがproductionモードで起動するようになってしまう

既存のAngular11のプロジェクトを12に上げた場合に発生。 新規に@angular/cli12以上でng newしたプロジェクトでは発生しません。 目次1 環境2 事象3 原因4 対処5 補足 …

Android用ionic cordovaアプリのビルド時に「Unable to merge dex」エラー

目次1 事象2 原因3 解決4 まとめ 事象 「cordova-plugin-admob-free」を追加した次のビルドで発生。他のケースでも発生する可能性があります。 C:\src\ionic\aw …

 

shingo.nakanishi
 

東京在勤、職歴20年越え中年ITエンジニアです。まだ開発現場で頑張っています。

19歳(1996年)から書き始めた備忘用プライベートWeb日記数が5,000日を超え、残りの人生は発信をして行きたいと思い、令和元日からこのサイトを開始しました。勉強と試行錯誤をしながら、自分が経験したIT関連情報を投稿しています。

私と同じく、今後IT業界で生計を立てて行きたいと考えている方や、技術共有したいけど仲間が居なくて孤独、といった方と一緒に成長、知識共有して行けたら楽しいな、と思っています。