IntelliJ IDEA 2024.1 ヘルプ

パッケージ検索ビルドシステムのサポート制限

パッケージ検索は、プロジェクトの依存関係を検索および管理する際の多くのケースをサポートします。ただし、プロジェクトで使用するビルドツールによっては、いくつかの制限があります。

Gradle

Gradle の場合、ビルドスクリプトではトップレベルの dependencies { } ブロックのみがサポートされます。他の場所(ルートビルドスクリプトの subprojects ブロックなど)から設定された依存関係はサポートされていません。また、build.gradle[.kts] ファイルのない Gradle モジュールは現在サポートされていないことに注意してください。

次の表にリストされていないものはサポートされていません(ただし、将来的にサポートされる可能性があります)。

ユースケース

サポート

Kotlin

Groovy

依存関係の完全な文字列: “io.ktor:ktor-client-cio:1.6.1”

  • バージョンの読み込み Supported

  • バージョンの書き込み Supported

  • エディターの更新 Supported

  • バージョンの読み込み Supported

  • バージョンの書き込み Supported

  • エディターの更新 Supported

直接変数を含む完全な文字列: val ver = "1.6.1"

“io.ktor:ktor-client-cio:$ver”

  • バージョンの読み込み Supported

  • バージョンの書き込み Supported

  • エディターの更新 Supported

  • バージョンの読み込み Supported

  • バージョンの書き込み Supported

  • エディターの更新 Supported

gradle.properties へのデリゲート変数を含む完全な文字列: “io.ktor:ktor-client-cio:$ver”

  • バージョンの読み込み Supported

  • バージョンの書き込み Supported

  • エディターの更新 Supported

  • バージョンの読み込み Supported

  • バージョンの書き込み

  • エディターでの更新

Ext プロパティ: ext.ver = “1.6.1”

“io.ktor:ktor-client-cio:$ver”

  • バージョンの読み込み Supported

  • バージョンの書き込み Supported

  • エディターの更新 Supported

  • バージョンの読み込み Supported

  • バージョンの書き込み Supported

  • エディターの更新 Supported

分割 GAV 依存関係: implementation group: "io.ktor", name: "ktor-client-apache", version: '1.5.4'

  • バージョンの読み込み

  • バージョンの書き込み

  • エディターでの更新

  • バージョンの読み込み Supported

  • バージョンの書き込み

  • エディターの更新 Supported

バージョンカタログ(実験的、Gradle のドキュメント(英語)を参照)。

  • バージョンの読み込み

  • バージョンの書き込み

  • エディターでの更新

  • バージョンの読み込み

  • バージョンの書き込み

  • エディターでの更新

バージョンの呼び出し関数: implementation("io.ktor:ktor-client-cio:${banana()}")

  • バージョンの読み込み

  • バージョンの書き込み

  • エディターの更新 Supported

  • バージョンの読み込み

  • バージョンの書き込み

  • エディターでの更新

サポートされているスタイルで問題が発生した場合は、Gradle サブシステム(英語)に報告してください。

Maven

Maven では、すべてのタイプの依存関係がサポートされています。バージョンが通常の構文を使用して定義されている場合、またはプロパティと ${} 構文を使用して定義されている場合は、すべての依存関係を更新できます。再帰的なプロパティ宣言(プロパティ値が別のプロパティを使用して定義されている場合)はまだサポートされていません。

ユースケース

サポート

単純なプロジェクト。依存関係はファイル自体で定義されます。

<dependency> <groupId>...</groupId> <artifactId>...</artifactId> <version>...</version> </dependency>
  • 読み込み Supported

  • 変更 Supported

この依存関係が親 <dependencyManagement> セクションで宣言されていない場合、新しい依存関係は単純な依存関係として作成されます。

<dependencyManagement> セクションで定義され、子セクションで宣言されている依存関係。

  • 読み込み Supported

  • 変更 Supported

この依存関係が親 <dependencyManagement> セクションで宣言されている場合、新しい依存関係が管理された依存関係として作成されます。

親セクションで依存関係として宣言され、プロジェクトに継承された依存関係。

  • 読み込み Supported

  • 変更 Supported

BOM で宣言され、プロジェクトにインポートされた依存関係

  • 読み込み Supported

  • 変更

サポートされているスタイルで問題が発生した場合は、Maven サブシステム(英語)に報告してください。

sbt

単純なデータフロー分析を使用して、ライブラリの一般的なパターンのいくつかをキャプチャーすることが可能です。ただし、関数から生成されるなど、より複雑なパターンの依存関係はサポートされていません。

ユースケース

サポート

インラインライブラリの依存関係: libraryDependencies += “org.scalatest” %% “scalatest” % “3.0.8” % Test

  • エディター Supported からバージョンを更新します

  • ツールウィンドウからのキャプチャー Supported

  • ツールウィンドウから変更 Supported

val を使用して作成されたライブラリの依存関係: val scalatest = “org.scalatest” %% “scalatest” % “3.0.8” libraryDependencies += scalatest % Test

  • エディター Supported からバージョンを更新します

  • ツールウィンドウからのキャプチャー Supported

  • ツールウィンドウから変更 Supported

ライブラリの依存関係のシーケンス: libraryDependencies ++= Seq(scalatest, scalariform)

  • エディター Supported からバージョンを更新します

  • ツールウィンドウからのキャプチャー Supported

  • ツールウィンドウから変更 Supported

トップレベルのサブプロジェクト内のライブラリの依存関係: lazy val common = (project in file("common")) .settings( name := "common", scalaVersion := "3.0.0", libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.9" % Test )

  • エディター Supported からバージョンを更新します

  • ツールウィンドウからのキャプチャー Supported

  • ツールウィンドウから変更 Supported

関数によって生成されるトップレベルのサブプロジェクト内のライブラリの依存関係: lazy val common: Project = customNewProject(name=” common” , file( “common” ))

  • エディター Supported からバージョンを更新します

  • ツールウィンドウからキャプチャー

  • ツールウィンドウから変更

ライブラリの依存関係は関数によって生成されます: libraryDependencies += generateScalaTestDep(version=” 3.0.8” )

  • エディターからバージョンを更新する

  • ツールウィンドウからキャプチャー

  • ツールウィンドウから変更

sbt プラグイン: addSbtPlugin("com.typesafe.sbt" % "sbt-site" % "0.7.0")

  • エディターからバージョンを更新する

  • ツールウィンドウからキャプチャー

  • ツールウィンドウから変更

サポートされているスタイルで問題が発生した場合は、Scala プラグイン(英語)に報告してください。

リポジトリ

パッケージ検索インデックスには、選択されたパブリック Maven リポジトリのみが含まれます。インデックス付きリポジトリのリストは、パッケージ検索 (英語) Web サイトで確認できます。

プライベート Maven リポジトリはサポートされていません。プライベート Maven リポジトリを使用していて、オンプレミスインスタンスのサポートを追加するためにパッケージ検索が必要な場合は、この問題(英語)に賛成してください。コメントは賛成票としてカウントされないことに注意してください。

パブリックリポジトリのプライベートプロキシは現在サポートされていません。プロキシを使用していて、パッケージ検索プラグインのサポートを受けたい場合は、この問題(英語)に賛成してください。コメントは賛成票としてカウントされないことに注意してください。