エラー原因と対応|Spring Boot+Thymeleaf テンプレートアクセスエラー template might not exist or might not be accessible...


Eclipseで、Spring Bootプロジェクトのjarファイルを作成して、コマンドプロンプトで実行したところ、エラーが発生しました。

ここでは、発生したエラーの内容と対応方法について、紹介します。

* Eclipseで、プロジェクトを右クリック→「実行」>「Spring Boot アプリケーション」を選択して、実行するとエラーは発生しませんでしたが、jarファイルを実行するとエラーが発生しました。

実行環境、アプリのバージョンなど



・Windows 10 64bit

・Java 8

・Spring Boot 2.1.3(Spring Tool Suite 4)

・Maven 3.5.3

・Thymeleaf 3.0.11

発生したエラー情報

エラー情報 - コマンドプロンプトに出力された内容にて確認

コマンドプロンプトでSpring Bootのjarファイルを実行すると、コマンドプロンプトに以下のエラーが出力されました。

・実行コマンド
java -jar XXX.jar

・エラー情報
2019-05-01 13:28:22.161 ERROR 8224 --- [nio-8080-exec-3] org.thymeleaf.TemplateEngine             : [THYMELEAF][http-nio-8080-exec-3] Exception processing template "/customer/list": Error resolving template [/customer/list], template might not exist or might not be accessible by any of the configured Template Resolvers

org.thymeleaf.exceptions.TemplateInputException: Error resolving template [/customer/list], template might not exist or might not be accessible by any of the configured Template Resolvers


原因

コントローラクラスのソースコードに問題があり、
「/src/main/resources/templates」配下のフォルダ「customer」に格納されているビューにアクセスできず、エラーが発生していました。



・ソースコード(コントローラクラス)
@GetMapping("/customer/list")

public String list() {


    return "/customer/list";

}

対応方法

コントローラクラスのソースコードを以下のように修正します。

上記のソースコードの
return "/customer/list";

return "customer/list";
に修正します。

・補足

リダイレクトの場合は、先頭に「/」が必要です。
return "redirect:/customer/list";
以下のように、先頭に「/」がない場合は、エラーになります。

return "redirect:customer/list";

参考


Cannot access templates running Spring Boot with JAR




スポンサーリンク

0 件のコメント :

コメントを投稿