JVM 用 Qodana
![Java、Kotlin、Groovy Java, Kotlin, Groovy](https://resources.jetbrains.com/help/img/qodana/2024.1/jvm.png)
JVM の Qodana は IntelliJ IDEA Ultimate に基づいています。IntelliJ IDEA Ultimate のすべての機能が組み込まれており、次のことに役立ちます。
異常なコードと潜在的なバグを検出する
デッドコードを削除する
スペルの問題をハイライトする
全体的なコード構造を改善する
コーディングのベストプラクティスを紹介する
インスペクションの結果を Qodana クラウドにアップロードする
JVM 用 Qodana は、Java 用インスペクション、Kotlin、Groovy を提供します。
サポートされているテクノロジー
JVM 用 Qodana は、次のテクノロジ用にインスペクションを提供します。
プログラミング言語 | Java Kotlin Groovy |
マークアップ言語 | CSS FreeMarker テンプレート言語 HTML JSON および JSON5 RELAX NG XML XPath XSLT YAML |
スクリプト言語 | 式言語 (EL) シェルスクリプト |
データベースと ORM | Hibernate ORM MongoDB Oracle MySQL PostgreSQL SQL SQL サーバー |
ビルド管理 | Ant Gradle Maven |
フレームワークおよびライブラリ | Jakarta EE Java EE JavaBeans JAX-RS JPA JSP JUnit Lombok Reactive Streams Spring TestNG |
サポートされている機能
JVM リンターの Qodana は、次の Qodana 機能を提供します。
やってみよう
プロジェクトをローカルで分析する
分析を実行できるようにするには、プロジェクトが適切に構築され、目的の環境で実行できることを確認します。つまり、JRE が適切に構成され、プロジェクトの依存関係がインストールされ、ビルドスクリプトまたは起動タスクが実行されます。
Qodana には、コードのローカル分析のための 2 つのオプションが用意されています。Qodana CLI(英語) は最も簡単に開始できるオプションです。あるいは、「 」タブから Docker コマンドを使用することもできます。
マシンに Qodana CLI がすでにインストールされている(英語)と仮定すると、プロジェクトのルートディレクトリで次のコマンドを実行できます。
ここで、QODANA_TOKEN
変数はプロジェクトトークンを参照します。
まず、Docker Hub からイメージをプルします (最新バージョンを取得する場合にのみ必要です)。
source-directory
がプロジェクトのルートを指し、QODANA_TOKEN
がプロジェクトトークンを参照して、ローカル分析を開始します。
ブラウザーで Qodana クラウド(英語)を開き、インスペクションの結果を調べます。ここで分析を再構成することもできます。詳細については、インスペクションレポートセクションを参照してください。
次のステップ
関連ページ:
![](https://resources.jetbrains.com/help/img/qodana/2024.1/qc-about-diagram.png)
Qodana クラウド
Qodana を複数のプロジェクトまたはリポジトリで実行する場合、特にコードベースが複数のサーバーと仮想プライベートネットワークに分散されていて、各チームが独立して作業している場合は、すべての分析レポートを 1 か所に読み込んで集約すると便利です。このような場合、すべての Qodana インスタンスからレポート情報を収集して表示するための集中型ソリューションが役立ちます。Qodana クラウドは、さまざまな Qodana レポートを蓄積し、プロジェクトの進捗状況を一元的に追跡するのに役立つクラウ...
![](https://pleiades.io/icons/jetbrains_logo.png)
プロジェクトトークン
一般に利用可能な有料リンターでは、Qodana の実行中に変数を使用してプロジェクトトークンを提供する必要があります。例:qodana scan \ -e QODANA_TOKEN="<qodana-cloud-token>"docker run \ -v $(pwd):/data/project/ \ -e QODANA_TOKEN="<qodana-cloud-token>" \ jetbrains/qodana-<linter> 変数には、Qodana リ...
![](https://resources.jetbrains.com/help/img/qodana/2024.1/baseline-enabled.png)
ベースライン
ベースラインは、特定の Qodana 実行時に取得され、ファイルに含まれているコードベースの問題のスナップショットです。ベースライン機能を使用すると、現在のコードとベースラインの状態を比較し、新しい問題、変更されていない問題、解決された問題を確認できます。この機能は、Community、Ultimate、Ultimate Plus ライセンスとその試用版で利用可能なすべてのリンターでサポートされています。使い方:ベースラインなしで Qodana を実行すると、現在の実行時に検出された問題を確認...
![](https://resources.jetbrains.com/help/img/qodana/2024.1/code-coverage-report-qodana.png)
コードカバレッジ
コードカバレッジは、生成されたレポートを使用して、メソッド、クラス、ファイル内の全体的なコードカバレッジを計算します。また、これらのエンティティにおけるカバレッジの不足に関連する問題についても報告します。この機能は、次のリンターの Ultimate および Ultimate Plus ライセンスで利用できます。JVM 用 QodanaIntelliJ IDEA コードカバレッジエージェントが推奨ツールですが推奨される形式です。もサポートされています。JaCoCoJS 用 QodanaJestPHP...
![](https://resources.jetbrains.com/help/img/qodana/2024.1/flexinspect-how-it-works.png)
FlexInspect
IntelliJ IDEA のバージョン 2024.1 以降では、IntelliJ API と Kotlin を使用して、プロジェクト固有の独自のインスペクションを開発できます。次のことが可能です。ソースコードの PSI 表現にアクセスします。新しいインスペクションをオンザフライでデバッグします。期待どおりに動作しないコードフラグメントのハイライトなど、新しいカスタムインスペクションの動作を観察します。FlexInspect を使用すると、すべての IntelliJ IDEA および Qodana イ...
![](https://resources.jetbrains.com/help/img/qodana/2024.1/license-audit-overview-tree.png)
ライセンス監査
プロジェクトのライセンスが依存関係のライセンスと互換性があることを確認するのは決して簡単な作業ではありませんが、これは法的な目的のために必要です。このプロセスを自動化して間違いを避けるために、現在いくつかの Qodana リンターによってサポートされているライセンス監査機能を使用できます。JVM 用 QodanaMaven および GradlePHP 用の QodanaComposerJS 用 Qodananpm および YarnPython 用 QodanapipGo 用 QodanaGo モ...