トラブルシューティング
このセクションには、問題のトラブルシューティングに役立つ情報が記載されています。
Docker イメージパス
パス | 説明 |
---|---|
| 解析対象プロジェクトのルートディレクトリ |
| 解析結果を格納するディレクトリ |
| IDE ディストリビューションを含むディレクトリ |
| IDE に設定が含まれるディレクトリ |
| プロファイルが CLI または |
Maven および Gradle プロジェクトの場合、Qodana は次のディレクトリを使用してサードパーティライブラリにアクセスします。
パス | 説明 |
---|---|
| Maven プロジェクトの依存関係 |
| Gradle プロジェクトの依存関係 |
これらのディレクトリをマウントすると、Qodana がこれらのリンターを使用しているときにすべての依存関係を再度ダウンロードする手間が省けます。
Qodana の動作を調査するためのファイルのリスト
/data/results
ディレクトリを使用して Qodana の動作を調べるには、いくつかのオプションがあります。
/data/results/projectStructure/Modules.json
ファイルには、Qodana によって検出されたすべてのモジュールがリストされます。これは、IDEA でプロジェクトを開いたときに表示されるリストと同じである必要があります。そうでない場合は、Maven の場合はpom.xml
を、Gradle 構成の場合はbuild.gradle
ファイルを確認してください。/data/results/
ディレクトリには、考えられる問題を検出した各インスペクションがID.json
という名前の独自のファイルを作成します。ここで、ID
は、qodana.yaml
でインスペクションを含めるか除外するために使用できるインスペクション名です。インスペクション ID の完全なリストは、/groups/*/inspections/*/shortName
パターンを使用して/data/results/.descriptions.json
ファイルで検索できます。/data/results/log/idea.log
では、疑わしい警告を調査できます。
Qodana Cloud に必要な IP アドレス
コントリビューターカウント機能が正しく動作するようにするには、IP アドレス範囲 54.76.32.8/32 を、ユーザー側で許可される受信接続のリストに追加します。
重大度レベル
この表は、JetBrains IDE、SARIF ファイル、Qodana レポートの重大度間の関係を示しています。
欠落しているファイル、パッケージ、モジュール、クラスに関するエラーメッセージ
インスペクション中に、Qodana は欠落しているファイル、パッケージ、モジュール、クラスについて報告する場合があります。この場合、プロジェクトをコードインスペクション用に準備する必要があります。例: プロジェクトを準備するセクションに示すように、スクリプトを作成し、それを実行するように Qodana を構成できます。
特定のファイルに対して特定のインスペクションを無効にする
特定のファイルに対してインスペクションを無効にするには、次の構成を含む qodana.yaml
ファイルをプロジェクトルートに保存します。
クラスの上に noinspection
コメントを追加することで、クラスに対してのみインスペクションを抑制することもできます。
リポジトリ内の特定のプロジェクトディレクトリをインスペクションする
一般的なプロジェクト構造は、次のようなディレクトリ構造になります。
ここで、repo/.git
ディレクトリには Qodana がアクセスできる必要がある情報が含まれており、repo/project
ディレクトリには Qodana によってインスペクションする必要があるプロジェクトが含まれています。これらすべてのサンプルは、 --project-dir
オプションを使用して repo/project
ディレクトリをマウントしますが、QODANA_TOKEN
変数は Qodana クラウドプロジェクトトークンを参照します。
プロキシサーバーの背後で Qodana を実行する
ニーズに応じて、既存の Qodana Docker イメージを使用してプロキシサーバーの背後で Qodana を実行したり、Docker イメージを最初から作成したりできます。
既存の Qodana Docker イメージをプロキシサーバーの背後で実行できるように準備するには、次の手順に従います。
proxy.settings.xml
ファイルを作成し、プロジェクトのルートにある.qodana
ディレクトリに保存します。proxy.settings.xml
ファイルに、プロキシサーバーに関する情報を保存します。<application> <component name="HttpConfigurable"> <option name="USE_HTTP_PROXY" value="true" /> <option name="PROXY_HOST" value="<ProxyHost>" /> <option name="PROXY_PORT" value="<ProxyPort>" /> <!-- Add more settings as needed --> </component> </application>qodana.yaml
ファイルで、proxy.settings.xml
ファイルを Qodana Docker イメージにコピーする次のboostrap
コマンドを保存します。boostrap: cp .qodana/proxy.settings.xml /root/.config/idea/options/proxy.settings.xml
プロキシサーバー設定を含むカスタム Qodana イメージを作成するには、次の手順に従います。
proxy.settings.xml
ファイルを作成し、その中にプロキシサーバー情報を含めます。<application> <component name="HttpConfigurable"> <option name="USE_HTTP_PROXY" value="true" /> <option name="PROXY_HOST" value="<ProxyHost>" /> <option name="PROXY_PORT" value="<ProxyPort>" /> <!-- Add more settings as needed --> </component> </application>このサンプルを使用して
Dockerfile
を作成します。FROM docker.io/jetbrains/qodana-<linter>:2024.1 LABEL version="1.0.0" ##Copy the proxy.settings.xml file COPY proxy.settings.xml /root/.config/idea/options/proxy.settings.xml ##Copy the gradle.properties file (optional) COPY gradle.properties ~/.gradle/gradle.properties ##Install certificates COPY <your_certificate> <path_to_certificate> RUN $JAVA_HOME/bin/keytool -import -trustcacerts -alias dc-ca -keystore $JAVA_HOME/lib/security/cacerts -noprompt -storepass changeit -file <path_to_certificate> COPY <your_certificate> /etc/ssl/certs RUN chmod 444 /etc/ssl/certs/<your_certificate> ##Set proxy ENV http_proxy <proxy> ENV https_proxy <proxy> ENV HTTP_PROXY <proxy> ENV HTTPS_PROXY <proxy> ENV ftp_proxy $http_proxy ENV dns_proxy $http_proxy ENV rsync_proxy $http_proxy
関連ページ:
![](https://pleiades.io/icons/jetbrains_logo.png)
JVM 用 Qodana
JVM の Qodana は IntelliJ IDEA Ultimate に基づいています。IntelliJ IDEA Ultimate のすべての機能が組み込まれており、次のことに役立ちます。異常なコードと潜在的なバグを検出する、デッドコードを削除する、スペルの問題をハイライトする、全体的なコード構造を改善する、コーディングのベストプラクティスを紹介する、インスペクションの結果を Qodana クラウドにアップロードする、JVM 用 Qodana は、Java 用インスペクション、Kotlin、G...
![](https://resources.jetbrains.com/help/img/qodana/2024.1/ui-overview.png)
インスペクションレポート
Qodana を使用すると、ローカルまたは Qodana クラウドで、インタラクティブでユーザーフレンドリーな形式でインスペクションレポートを確認できます。各レポートには次のタブが含まれています。実際の問題は、Qodana が最新のインスペクション中に検出した問題を明らかにします、ベースラインには、ベースラインとしてマークされ、それ以降修正されていない問題がリストされます。構成により、将来の使用に備えて Qodana を構成できます、ライセンス監査は
![](https://resources.jetbrains.com/help/img/qodana/2024.1/extending-qodana-1.png)
構造検索
構造検索は、JetBrains IDE に組み込まれた強力で柔軟なメカニズムです。検索テンプレートを使用して、セマンティクスを考慮してコードベースをインスペクションできるようにします。独自の検索テンプレートを作成し、Qodana インスペクションとして使用できます。使い方:例として、次の検索テンプレートを考えてみましょう。$Instance$.$MethodCall$($Parameter$) これにより、Java ステートメントを検出できます。のようなハードコードされたテキストを含むステートメ...