0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Eclipse × Spring Boot】javax.validation.constraints がインポートできない問題の解決方法【@NotBlank / @NotEmpty】

Posted at

Spring Boot で @NotBlank@NotEmpty などのバリデーションアノテーションを使おうとした際、javax.validation.constraints が Eclipse 上で importエラー になり、意外とハマったので備忘録として残しておきます。

発生した問題

javax.validation.constraints.NotEmptyNotNull をインポートしようとしたところ、以下のようなエラーが出て インポートが解決できませんでした。

import javax.validation.constraints.NotEmpty; // ← 赤波線が出る
import javax.validation.constraints.NotNull;
  • Eclipse 2023-12 使用
  • Spring Boot 3.2.x を使用中

原因

結論から言うと、

validation-api の依存がプロジェクトに存在していなかった
または、Eclipseのビルドパスに反映されていなかった

のが原因でした。

解決方法

1. spring-boot-starter-validationpom.xml に追加

まずは、Mavenプロジェクトの pom.xml に以下の依存関係を追加します。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

このスターターにより、javax.validation:validation-apihibernate-validator など必要なライブラリが自動的に取り込まれます。

2. Eclipse で Maven プロジェクトを再同期

依存を追加しただけでは Eclipse に反映されないこともあります。以下の操作を行ってください:

  • プロジェクト右クリック → Maven → Update Project...(または Alt + F5
  • チェックを入れて「OK」

これでエラーが消えることが多いです。

3. それでも解消しないとき(手動でJAR追加)

それでもうまくいかない場合は、ローカルMavenリポジトリにある JAR を Eclipse のビルドパスに直接追加するという裏技もあります。

コピーする
編集する
C:\Users\xxxxxx\.m2\repository\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar
  • Eclipseプロジェクト右クリック → Build Path → Configure Build Path
  • 「Libraries」タブで JAR を追加

まとめ

対処 内容
✅ 必須 spring-boot-starter-validation の追加(Maven依存)
✅ 推奨 Maven Update (Alt + F5)
⛏ 応急処置 validation-api.jar の直接追加(最終手段)

補足:使えるバリデーションアノテーション一覧(一部)

  • @NotNull:null禁止(空文字はOK)
  • @NotEmpty:null・空文字列禁止(スペースはOK)
  • @NotBlank:null・空文字・スペースのみ禁止
  • @Size(min=, max=):文字列やリストのサイズ制約
  • @Email:メールアドレス形式チェック
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?