IntelliJを新規インストールし、次の設定を使用して新しいkotlin gradleプロジェクトを作成しました。
これにより、次のbuild.gradle.ktsが生成されます(Windowsマシンでもまったく同じファイルが機能します)。
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm") version "1.2.71"
}
group = "com.test"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
compile(kotlin("stdlib-jdk8"))
}
tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
}
グラドル更新を実行しようとすると、これはこのエラーを生成します:
プラグイン[id: 'org.jetbrains.kotlin.jvm'、バージョン: '1.2.71']は、次のソースのいずれにも見つかりませんでした:
- Gradle Core Plugins(プラグインは「org.gradle」名前空間にありません)
- プラグインリポジトリ(プラグインアーティファクト「org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.2.71」を解決できませんでした)次のリポジトリで検索:Gradle Central Plugin Repository
インターネット接続を確認し、インターネットが制限されていないことを確認してください。
VPNアプリですべてのトンネル(HTTPだけでなく)のプロキシをオンにすることで、この問題を解決しました。
わかりましたので、答えはずっと簡単でした。何らかの理由で、私はgradleの「オフライン作業」トグルをアクティブにしましたが、それが問題の原因でした。
無効にするには、単にSettings > Build, Execution, Deployment > Build Tools > Gradle
を選択し、[オフライン作業]チェックボックスをオフにします。
(1)私の場合(Ubuntu 18.04のOpenJDK 11)、問題はGradleがgradleプラグインサーバーからPOMファイルをダウンロードできないことでした。次の行をjshell
に入力してテストできます。
new Java.net.URL("https://plugins.gradle.org/m2/org/jetbrains/kotlin/jvm/org.jetbrains.kotlin.jvm.gradle.plugin/1.3.11/org.jetbrains.kotlin.jvm.gradle.plugin-1.3.11.pom").openStream()
(URLを見つけるには、--debug
オプション)
したがって、次のような例外を受け取った場合:InvalidAlgorithmParameterException:trustAnchorsパラメーターは空でないである必要があり、問題はCA -certs cache。これらの行をbashに書き込むことで簡単に修正できます Ref :
Sudo su
/usr/bin/printf '\xfe\xed\xfe\xed\x00\x00\x00\x02\x00\x00\x00\x00\xe2\x68\x6e\x45\xfb\x43\xdf\xa4\xd9\x92\xdd\x41\xce\xb6\xb2\x1c\x63\x30\xd7\x92' > /etc/ssl/certs/Java/cacerts
/var/lib/dpkg/info/ca-certificates-Java.postinst configure
ところで、再試行する前にgradleデーモンを再起動することを忘れないでください。 (gradle --stop
)
(2)別の理由として、インターネットにbintray.com
(イランまたは中国のインターネット)jshell
に次の行を追加することでテストできます。
new Java.net.URL("https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-gradle-plugin-api/1.3.11/kotlin-gradle-plugin-api-1.3.11.pom").openStream()
接続タイムアウトを受け取った場合、この理論を確認します。この場合、これらの依存関係をダウンロードできるようにするには、proxy/vpnを購入して接続する必要があります。