-
Notifications
You must be signed in to change notification settings - Fork 23
HELP
Unsupported class file major version 65
にてエラーになる事象が報告されています。
./gradlew clean
で直ったと言う話もありますが、いまいち納得できていません。
解決しない場合、再現プロジェクトを共有いただけると助かります。
2018.11.2
暫定 see #207
以下のような構成の場合、 src/main/java
ディレクトリのJavaファイルしか読み込まれません。
[project root]
+ src
| + main
| + java
+ src_gen
+ main
+ java
directory.sources
に上位ディレクトリを指定することで出力できる場合があります。
実行例:
java -jar jig-cli.jar --directory.sources=./
ただしプロジェクトが巨大な場合や、読み込みたくないJavaファイル、XMLファイルが配下に存在するとエラーになる可能性があります。
「解析対象のクラスが存在しないため処理を中断します。」のログの原因は以下が考えられます。
- ビルドされていない。
-
*.class
の出力ディレクトリが異なる。
1の場合:
ビルドを実行してください。 gradle build
か、最低でも gradle compileJava
を実施する必要があります。
2の場合:
*.class
の出力ディレクトリはGradleのバージョンやビルド環境の設定によって異なります。
directory.classes
を適切に設定してください。
指定 | |
---|---|
デフォルト | build/classes/main/java |
Gradleが古い場合 | build/classes/main |
サービスの判別には @Service
を使用しているので、サービスクラスには必ず付与してください。
パッケージ図が空もしくは期待するパッケージが出力されていない場合は、モデルの判別が異なると考えられます。
モデルの判別は名称で行なっているため、 jig.model.pattern
を設定してください。
指定 | |
---|---|
デフォルト | .+\\.domain\\.model\\..+ |
和名はJavadocコメントから抽出しています。 Javadocコメントが記述されていない場合、和名は表示されません。
多くの場合、上位パッケージは組織名などとなるため、情報として不要になります。
JIGは output.omit.prefix
に基づいて出力を抑止します。
デフォルトでは isolating-the-domain
の構成に従った正規表現で行います。
指定 | |
---|---|
デフォルト | .+\\.(service|domain\\.(model|basic))\\. |
パッケージ構成によっては意図しない出力になる可能性があります。 このような時は、上位パッケージから厳格に指定してください。
例: org.dddjava.model.example.Model
を example.Model
と表示したい場合は org\\.dddjava\\.model\\.
を指定する