「Java」タグアーカイブ

【Spring Boot】「Cannot find template location: classpath:/templates/」のエラーが出力される場合の対処法

Spring Bootを採用している開発案件に参画することになったため、今更ではあるが勉強を開始した。

利用した書籍はこちら↓
Prime Readingで読めるし、評価も高いので。

Spring Boot 2 入門: 基礎から実演まで

本の解説自体はわかりやすいのだが、サンプルアプリケーションを起動してアクセスしたところ、こんなエラーがでて躓いた。

【エラー】

サーバの起動時もWarningのログが出力されたいた↓

Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false)

“templatesフォルダが見つからない”というメッセージだが、確かに存在している。書籍の特典として配布されているソースコードを取り込んでも同じエラーがでてしまった。

【対処方法】

散々調査した結果、templatesフォルダのあるsrc/main/resourcesのソースフォルダ設定に問題があった。

以下のようにプロジェクト作成直後の設定だと、出力対象としてすべて除外されるように設定されていた。

これを以下のように除去することでエラーが発生しなくなった!

書籍が発売されてかた少し時間が経っているので、こういったことは致し方ないと思うが、書籍の通り実行して動かないというのは、多くの人が挫折する原因だなとつくづく思った。
(*´・ω`)y━・~~ フゥ~


EclipseでJavaのimport文の順番を設定する

EclipseでJavaのプログラム開発をやる場合、CheckStyleやフォーマッタを使うことが定番です。

プログラムを書いていて、import文の順番がCheckStyleのルールと異なっているとルール違反の警告がでます。

これを警告メッセージにしたがって直しても、なぜか保存するとまた元に戻ってしまう。。。。。。

これはEclipseでimport文の順番の設定があり、これが原因でした。この設定を、利用しているCheckStyleに合わせてあげることで、警告が出なくなります。

設定方法

① Eclipseで[ウィンドウ] > [設定]を押下する。

② [Java] > [コード・スタイル] > [インポートの編成] を押下する。

③ ここでimport文の順番を変えられます。例えば、以下の図では、[javax]を選択して、右側の[上へ]、[下へ] を押すことで、順番を変えることができます。

豆知識でした!!


【Java】文字列にCRLF,LFの改行コードが混在していても、両方の改行コードで文字列を分割する

案件にて「この移行データには改行コードがCRLFだったり、LFだったりするデータが入ってくるので考慮してください」と言われました。

いやいやいや、移行するときにデータ変換して統一してよ!!っと思いましたが、政治的に負けて対応することになりました。。。

作成したコードは以下です。

CRをブランクに変換した後にLFでsplitしています。

こちらのコードは以下のGithubリポジトリにも置きました。
my-java-snipet/MyStringUtil.java at main · glasses-se-hub/my-java-snipet · GitHub

あとから確認したら、String.split()でも複数文字で文字列分割できるらしいので、そっちでもよかったかも。

でもいいんですが、動くし、あとから見る人にとってはこっちの方がわかりやすいと思う!!ことにする(笑)