いくつかの注意すべき問題があります。
アプリケーションの起動に失敗
Spring Boot
アプリケーションが起動すると、デフォルトで8080
ポートが使用されます。アプリケーションを単に起動したい場合は、設定ファイルを変更してください。もしくは、8080ポートを使用したいと考えている場合は、まずどのアプリケーションがポートを使用しているかを確認してください。Linux
でポート8080
を使用しているアプリケーションを調べるには、lsof
(List Open Files)コマンドを-i
オプションとともに使用します。このコマンドは、オープンされているファイルとそれらを使用しているプロセス、ネットワーク接続などに関する情報を表示します。以下のように実行します:
ターミナルを開き、次のコマンドを管理者権限で実行します(rootユーザーまたはsudo
を使用):
このコマンドにより、ポート8080を使用しているプロセスの情報が表示されます。プロセスID(PID
)、プロセスを実行しているユーザー、プロセス名などが表示されます。
スタンドアロンアプリケーションの停止:
アプリケーションがシステムサービスで管理されていないスタンドアロンプロセスであれば、killコマンドを使用して停止できます。まず、lsof
コマンドを使用してアプリケーションのプロセスID(PID
)を見つけます。それから、kill
コマンドを使用してプロセスを停止します:
input.html
"error resolving template [input.html], template might not exist or might not be accessible by any of the configured Template Resolvers"というエラーメッセージは、Spring Boot
がブラウザで表示するためにテンプレートファイル「input.html」を見つけられないことを示しています。この問題は、一般的にテンプレートの設定とファイルの場所に関連しています。
テンプレートの場所
Spring Bootプロジェクト内の適切な場所に「input.html」という名前のテンプレートファイルが配置されていることを確認してください。デフォルトでは、Spring Boot
は「src/main/resources/templates
」ディレクトリ内をテンプレートの場所として探します。したがって、「input.html」ファイルが適切なディレクトリに配置されていることを確認してください。
テンプレートエンジンの依存関係
Spring Boot
プロジェクトに必要なテンプレートエンジンの依存関係があることを確認してください。Thymeleaf
を使用する場合は、pom.xml
またはbuild.gradle
ファイルにThymeleaf
のスターター依存関係が含まれている必要があります。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
コントローラー内のテンプレート名
もし「input.html」テンプレートをレンダリングするためにコントローラを使用している場合は、@RequestMapping
または@GetMapping
アノテーションの中でテンプレート名が正しく指定されていることを確認してください。例えば:
@Controller
public class MyController {
@GetMapping("/input")
public String getInputPage() {
return "input";
}
}