gpt4 book ai didi

gradle - 为什么Intellij IDEA导入带有旧包装版本的gradle项目?

转载 作者:行者123 更新时间:2023-12-03 03:10:57 25 4
gpt4 key购买 nike

我在Intellij Idea中使用gradle包装器版本有问题。当我导入项目时,它开始下载gradle和gradle包装器的旧版本。

enter image description here

在我的系统变量中,我有gradle home,看起来像这样:

enter image description here

在系统变量的路径中:
enter image description here

我的gradle构建文件如下所示:

plugins {
id 'java'
id 'org.jetbrains.kotlin.jvm' version '1.3.41'
}

group 'com.epam.trykotlin'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
mavenCentral()
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
testCompile group: 'junit', name: 'junit', version: '4.12'
}

compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}

task wrapper(type: Wrapper) {
gradleVersion = '5.6.4'
}

我在.idea文件夹中的gradle.xml看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="C:/Gradle/gradle-5.6.4" />
<option name="gradleJvm" value="11" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
</set>
</option>
<option name="useQualifiedModuleNames" value="true" />
</GradleProjectSettings>
</option>
</component>
</project>

我已经尝试删除.gradle文件夹和.IdeaIC2019.2文件夹,但是遇到了同样的问题。为什么会这样呢?如何解决?我也尝试过重新安装IDE,它会安装5.2.1版本的gradle插件。为什么?

最佳答案

在您的特定用例中,您可能首先可以-在IntelliJ之外-在终端窗口中运行gradle wrapper,以便Gradle使用构建文件中指定的版本为项目设置包装器。

但是,似乎IntelliJ已被硬编码为所有新项目和以前未进行任何不同配置的所有打开的项目下载Gradle包装器5.2.1

似乎没有任何方法可以禁用这种非常奇怪的行为。这是可悲的,几乎是难以置信的。这不仅会窃取用户的Internet带宽和磁盘空间,还会在开发人员继续调试其项目设置并弄清为什么发生这种情况时引起极大的困惑和时间浪费。

我花了很长时间才弄清楚IntelliJ是否可以使用他下载的旧版本的Gradle,而不是使用已经安装的最新Gradle版本。当然,这真的不会令我惊讶。

因此,对于您的问题的答案,为什么必须是“自称已久忘了为其工作的开发人员的,设计不佳的Gradle插件”。

但是,我们要做的第一件事是停止极其讨厌的下载。

但是-我不会骗你-中止下载,只有完成以下非常繁重的过程中的每个步骤,我才能成功完成下载。欺骗所有这些步骤并没有阻止下载。即使这些步骤中的许多步骤似乎并未对表面产生影响,但每个步骤的确有未公开的副作用,最终导致下载成功终止。

  • 首次创建或打开项目时,会弹出一个窗口,表明IntelliJ正在出于未知原因将随机二进制文件下载到计算机上的未知位置。点击“取消”。取消按钮将显示为灰色,但是当然不会取消任何内容。
  • 单击“背景”。这将关闭弹出窗口。
  • 单击左下角的方形红色“停止”按钮。当然,这不会阻止任何事情。
  • 单击顶部菜单; “文件-关闭项目”。这将关闭主应用程序窗口,我们回到一个小窗口,该窗口现在在左侧列出了我们的项目。
  • 关闭此窗口。 IntelliJ将弹出一个简短的评论:“您正在运行后台任务。确定要停止它们并退出IntelliJ IDEA吗?”
  • 在此弹出窗口上单击“退出”。

  • 然后,我们需要删除磁盘上放置的废话IntelliJ。在我的机器上:
    rm -r ~/.gradle/wrapper/dists/gradle-5.2.1-bin/

    现在,我们可以打开IntelliJ并直接进入我们的项目,而无需开始任何Gradle下载。

    但是,我希望IntelliJ使用已安装的Gradle。因此,我打开项目并使用菜单打开“文件->设置->构建,执行,部署->构建工具-> Gradle”。在其中,我执行以下操作:
  • 使用以下命令生成并运行:Gradle
  • 使用以下命令运行测试:Gradle
  • 使用Gradle来自:Specified location /usr/lib/gradle/default

  • 当然,对于我们希望创建和/或打开的每个新项目,必须重复上述所有操作。

    关于gradle - 为什么Intellij IDEA导入带有旧包装版本的gradle项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58817366/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com