Spring Boot/Doma/トラブル

Spring Boot/Doma/トラブル

自動生成されたコードがエラー

STSで開発している際にこのようなエラーが出て生成されたコード自体が文法エラーになってしまってそこからどうしようもなくなる。

Syntax error, insert "enum Identifier" to complete EnumHeader	HogeDaoImpl.java	/helloworld/.apt_generated/net/unko/hoge/dao	line 4	Java Problem
Syntax error, insert "EnumBody" to complete EnumDeclaration	HogeDaoImpl.java	/helloworld/.apt_generated/net/unko/hoge/dao	line 4	Java Problem

この原因はコードの自動生成が失敗しているからである。 実際このエラーの原因になっている自動生成されたコードを見ると

アノテーションの表記だけあって

@org.springframework.stereotype.Repository

肝心な実装部分が無い。

これは自動生成に失敗して、コードが途中で切れてしまっているということである。 そのせいでその中途半端な Java コードが文法エラーで検出されることになっているということ。

この APT(Annotation Processor) がうまく動かない理由は、STS や Eclise を駆動している Java と Doma が必要としている Java のバージョンがズレているからである。

自分の場合は Java 1.8 に統一することでちゃんと生成されるようになった。

java/spring/spring_boot/doma/trouble.txt · 最終更新: 2019-06-04 20:40 by ore