說明
The project uses Spring Boot 3.x. All code must use the jakarta.* namespace (not javax.*) and follow Spring Boot 3 conventions.
為什麼重要
- Jakarta EE — Spring Boot 3 requires Jakarta EE 9+ (
jakarta.*namespace) - Performance — Spring Boot 3 has significant startup and memory improvements
- Security — Spring Security 6 has improved defaults
Enforcement
Custom rules for javax.* imports that should be jakarta.* in Spring Boot 3.
Remediation
mvn rewrite:run -DactiveRecipe=org.openrewrite.java.migrate.spring-boot.UpgradeSpringBoot_3_2
正例
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.validation.constraints.NotBlank;
@Entity
public class Order {
@Id
private Long id;
@NotBlank
private String name;
}
反例
import javax.persistence.Entity; // ❌ javax is Spring Boot 2
import javax.persistence.Id;
import javax.validation.constraints.NotBlank;
@Entity
public class Order {
@Id
private Long id;
}