Skip to content
irof edited this page Apr 9, 2024 · 8 revisions

全般

Java21使用で 2023.3.1 以降でエラーになる

Unsupported class file major version 65 にてエラーになる事象が報告されています。 ./gradlew clean で直ったと言う話もありますが、いまいち納得できていません。

解決しない場合、再現プロジェクトを共有いただけると助かります。

コマンドライン実行に関するHELP

複数のソースディレクトリが存在する

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ファイルが配下に存在するとエラーになる可能性があります。

エラー終了する

「解析対象のクラスが存在しないため処理を中断します。」のログの原因は以下が考えられます。

  1. ビルドされていない。
  2. *.class の出力ディレクトリが異なる。

1の場合: ビルドを実行してください。 gradle build か、最低でも gradle compileJava を実施する必要があります。

2の場合: *.class の出力ディレクトリはGradleのバージョンやビルド環境の設定によって異なります。 directory.classes を適切に設定してください。

指定
デフォルト build/classes/main/java
Gradleが古い場合 build/classes/main

出力内容に関するHELP

サービス一覧/サービスメソッド関連図が空

サービスの判別には @Service を使用しているので、サービスクラスには必ず付与してください。

パッケージ図が空

パッケージ図が空もしくは期待するパッケージが出力されていない場合は、モデルの判別が異なると考えられます。

モデルの判別は名称で行なっているため、 jig.model.pattern を設定してください。

指定
デフォルト .+\\.domain\\.model\\..+

和名が表示されない

和名はJavadocコメントから抽出しています。 Javadocコメントが記述されていない場合、和名は表示されません。

冗長な出力を抑止したい/調整したい

多くの場合、上位パッケージは組織名などとなるため、情報として不要になります。 JIGは output.omit.prefix に基づいて出力を抑止します。

デフォルトでは isolating-the-domain の構成に従った正規表現で行います。

指定
デフォルト .+\\.(service|domain\\.(model|basic))\\.

パッケージ構成によっては意図しない出力になる可能性があります。 このような時は、上位パッケージから厳格に指定してください。

例: org.dddjava.model.example.Modelexample.Model と表示したい場合は org\\.dddjava\\.model\\. を指定する

狙い・背景・思想

付録

JIGの設定と他ツールとの統合

JIGの利用シナリオ

JIGが提供しないもの

その他

参考リンク 🔗

Clone this wiki locally