如何创建使用 Gradle 构建的 Kotlin 项目?

2023-12-31

我正在尝试创建一个新的 Kotlin 项目,该项目使用 IntelliJ IDEA(Ubuntu 16.04 上的 2016.2.5)通过 Gradle 构建。当我这样做时,我立即收到一条错误消息。

这就是我正在尝试的:

  1. 从欢迎屏幕中选择“创建新项目”。

  2. 从左侧窗格中选择“Gradle”,从右侧窗格中选择“Kotlin (Java)”。点击下一步”。

  3. 输入“hello-world”作为 ArtifactId。点击下一步。

  4. 确保“从源集中创建单独的模块”和“使用默认 Gradle 包装器” 选了,其他都没有了。点击下一步”。

  5. 使用项目名称和位置的默认值。单击“完成”。

然后我立即收到此错误:

Gradle 'hello-world' project refresh failed

Error: Could not find org.jetbrains.kotlin:kotlin-gradle-plugin:1.1-M02-12.
       Searched in the following locations:
           https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1-M02-12/kotlin-gradle-plugin-1.1-M02-12.pom
           https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1-M02-12/kotlin-gradle-plugin-1.1-M02-12.jar
       Required by:
           :hello-world:unspecified

生成的build.gradle看起来像这样:

version '1.0-SNAPSHOT'

buildscript {
    ext.kotlin_version = '1.1-M02-12'

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: 'kotlin'

repositories {
    mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

如何创建一个使用 Gradle 正确构建的 Kotlin 项目?


In your build.gradle, 改变ext.kotlin_version to be:

 ext.kotlin_version = '1.1-M02'

It's a minor bug that the IDE plugin puts its own version into build scripts, not the Kotlin version.

并将 1.1 EAP 存储库添加到repositories同时buildscript和根范围:

repositories {
    // ...
    maven { url "http://dl.bintray.com/kotlin/kotlin-eap-1.1" }
}

Kotlin artifacts related to EAP versions are not put into Maven Central like those of public releases, and this repository is not added automatically into the generated build script.

然后刷新 Gradle 项目,构建应该会通过。

请随时查看this build.gradle file https://gist.github.com/h0tk3y/0112caf770d2d47bf9cf590c79ba225f.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何创建使用 Gradle 构建的 Kotlin 项目? 的相关文章

随机推荐

  • 在图像控制中以 5 秒时间间隔显示文件夹中的所有图像

    我有一个包含 1000 张图像的文件夹 图像名称的顺序为 ICON000 ICON001 直到 ICON 999 我需要它们以 5 秒的时间延迟按顺序显示在我的 WPF 图像控件中 我使用文件对话框来获取特定文件夹的路径和图像的相应前缀 图
  • JavaScript ES6 类可以与异步代码库一起使用吗?

    什么可以ES6 类 https developer mozilla org en US docs Web JavaScript Reference Classes作为一种组织模式 提供异步代码 下面是一个 ES7 async await 的
  • Bootstrap 导航栏边距

    我想让导航栏内容的左右边距变小 以便 品牌 最左侧的组件 在左侧显示得比默认值更多 右侧组件的情况也是如此 有人可以指出我要修改的相关较少变量吗 Thanks 对于基本布局 您想要的 CSS 选择器是 body gt navbar bran
  • PHP 在 foreach 中通过引用传递[重复]

    这个问题在这里已经有答案了 我有这个代码 a array zero one two three foreach a as v foreach a as v echo v PHP EOL 有人可以解释一下为什么输出是 零一二二 来自 zend
  • Android WebView 中的自定义视频播放器

    我研究了 Android 中的一些浏览器 当用户单击 Web 视图中的 html5 视频标记项时 他们可以使用自定义播放器播放视频 这个怎么做 更具体地说 当用户单击视频标签时 如何获取视频网址以及如何触发我的自定义播放器而不是 Andro
  • 如何在控制台应用程序中使用 TIdUDPServer?

    Indy UDP 服务器组件似乎依赖于 Windows 消息 因为我看到只有当鼠标光标移到包含服务器组件的表单上时才会出现新消息 我使用以下代码在运行时创建了该组件 private Private declarations Srv TIdU
  • SQL Server Compact Edition 是 SQLite 的明智替代品吗?

    除了 SQL Server Compact 中的文件大小限制和仅限 Windows 的使用之外 还有哪些区别 我找到了一个couple https stackoverflow com questions 2278104 sql ce sql
  • Windows 线程:_beginthread、_beginthreadex 与 CreateThread C++

    有什么更好的方式来启动一个线程 beginthread beginthreadx or CreateThread 我正在尝试确定什么是优点 缺点 beginthread beginthreadex and CreateThread 所有这些
  • 为什么 swagger 会引发不清楚的错误 - Django

    我有一个 django Rest 后端应用程序 我使用 swagger 来查看我的 api 并将其记录到 FE 这工作正常 但我做了一些更改 现在出现此错误 Internal Server Error Traceback most rece
  • 无法在 ubuntu 20.04 中安装 g++ 和 build-essentials

    即使在清洁后apt get clean它说有破损的包裹 sudo dpkg l grep r正如 1 中提到的 什么也不返回 sudo apt get install build essential Reading package list
  • MySQL配置不当原因:相对路径的不安全使用

    我正在使用 Django 当我运行时python manage py runserver我收到以下错误 ImproperlyConfigured Error loading MySQLdb module dlopen Library Pyt
  • 使用 Jasypt 和 PBKDF2WithHmacSHA1 密钥进行基于密码的 AES 加密

    我正在工作中实现加密机制 安全人员的要求如下 使用 PBKDF2WithHmacSHA512 秘密密码 256 位盐和最少 20000 次迭代创建 256 位密钥 盐应该使用 SecureRandom getInstance SHA1PRN
  • Java 接口是否可以定义为只有 Enum 可以扩展它?

    我想这样做并没有什么特别的原因 我只是想知道这是否可能 如果有帮助的话 这是一个可以使用它的虚构情况 想象一下一种类型Enum它用作只读数据源 这样每个值Enum包含不同的内容 这Enum实施Readable 现在 假设我们想要一个读取所有
  • 如何处理持久的 http 请求

    我有一个持久的http请求 后端有大量计算 目前 这一切都是同步的 而服务器计算机 浏览器看不到输出 结果 一段时间后 连接断开 浏览器中显示超时错误 我想立即向浏览器返回一些信息 并让它等待结果 如何实现这一目标 请注意 Java 后端是
  • 多个具有相同名称的单选按钮组

    我已经继承了一个动态创建 HTML 的复杂应用程序 问题是 前面的人不知道单选按钮的 名称 属性实际上是组关联 通过以下标记 有什么方法可以将它们分为两组 div div
  • 列出 .gitignore 不忽略的所有文件

    我想列出 gitignore 未忽略的所有文件 即我的存储库的所有源文件 ag默认情况下效果很好 但我不知道有一种方法可以在不安装其他软件的情况下工作 git ls files没有选项几乎可以很好地工作 但没有考虑已修改 创建的文件 例如
  • 如何安装 NODE_MODULE_VERSION 46

    如何使用 NODE MODULE VERSION 46 安装 Node js 版本 我一直遇到 NODE MODULE VERSION 不匹配的情况 并且重新编译没有帮助 因此切换节点版本可能会更容易 基本上 我一直遇到这样的情况 Warn
  • ini_set('max_execution_time', 0) 是一个坏主意吗?

    有没有充分的理由不设置 PHP 配置变量max execution time http www php net manual en info configuration php ini max execution time to 0 一位同
  • 禁用 Wifi 时未收到 NSD 设备丢失消息

    我已经使用编写了一个示例应用程序NSD正如所解释的here http developer android com training connect devices wirelessly nsd html 该应用程序工作正常 它会发现服务 解
  • 如何创建使用 Gradle 构建的 Kotlin 项目?

    我正在尝试创建一个新的 Kotlin 项目 该项目使用 IntelliJ IDEA Ubuntu 16 04 上的 2016 2 5 通过 Gradle 构建 当我这样做时 我立即收到一条错误消息 这就是我正在尝试的 从欢迎屏幕中选择 创建