URI is not registered:Community Edition の IntelliJ で表示される警告への対応方法
Thymeleaf を使った Spring Boot のプロジェクトで、IntelliJ IDEA Community Edition を使用していると、以下のような警告が表示されることがあります。
URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
この警告は、Thymeleaf のテンプレートファイルで、xmlns:th="http://www.thymeleaf.org"
と宣言している部分に対して発生するものです。
この警告は無視しても問題ありません。
なぜ警告が表示されるのか?
IntelliJ IDEA の Community Edition は、Thymeleaf のサポートが不足してる部分があり、この警告が表示されます。 ただし、これはあくまで IDE 内での問題であり、実際のアプリケーションの動作には影響しません。
HTMLファイルの例
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>アプリケーション</title>
</head>
<body>
</body>
</html>
このコード例では、IntelliJ IDEA Community Edition で警告が表示される可能性がありますが、無視していただいて問題ありません。
xmlns:th="http://www.thymeleaf.org"
と書かれていれば、Thymeleaf は th
から始まる属性を自分が処理するべきプレフィクスだと認識します。
解決策
(人間が)警告を無視する
これまで述べてきた通り、この警告はアプリケーションの動作に影響しません。そのため、そのまま無視して開発を続けることができます。
IntelliJ IDEA Ultimate Edition を使用する
Ultimate Edition では、Thymeleaf の名前空間URIも正しく解決されます。
警告を無視するように設定する
警告が気になる方は、IntelliJ の設定を変更することで http://www.thymeleaf.org
に対する警告を止めることができます。
設定手順
- Settings > Languages & Frameworks > Schemas and DTDs
- Ignored schemas and DTDs に
http://www.thymeleaf.org
を追加する