1

コマンド ライン ツールを使用して jQAssistant v1.0.0 を少しいじって、プロジェクトのいくつかの JAR アーカイブをスキャンしましたbin\jqassistant.cmd scan -f lib:Directory残念ながら、これにより、共通ノードを介してのみ接続されているすべての jar のサブグラフが作成されます。たとえば、(:Type {name: "int"})明らかに役に立たない 15 個のノードを取得します。具体的には、個別の jar (レイヤー、api、impl など) に分割されたプロジェクト全体にまたがるクエリを作成できません。したがって:Archive、インターフェイスを含む 1 つの:Archiveノードと、そのインターフェイスを必要とする他の 3 つのノードを取得しますが、同じ fqn を持つ 4 つの異なるインターフェイス ノードがあります。

何か間違ったことをしていますか、それとも複数の JAR で機能していませんか? 前もって感謝します。

4

1 に答える 1

1

現在、この動作は意図的なものです。JAR ファイルが CLI からスキャンされた場合、これらのファイル間の依存関係に関する情報は不明です。したがって、タイプ解決の範囲は、クラスが配置されている JAR ファイルのコンテキストに限定されます。Java スキャナーに構成プロパティーを追加して、スキャンされたすべてのアーティファクトでグローバルなタイプ解決を可能にするという議論がすでに行われています。

今すぐ、「classpath:Resolve」という概念をデータベースに適用してみてください:

jqassistant.sh analyze -concepts classpath:Resolve

しばらく時間がかかりますが、結果はニーズに合ったものになるはずです。

于 2015-11-26T16:28:46.780 に答える