【问题标题】:Best way to add Gradle support to IntelliJ Project将 Gradle 支持添加到 IntelliJ 项目的最佳方式
【发布时间】:2014-12-31 22:57:47
【问题描述】:

我环顾四周,并没有找到将现有 IntelliJ 项目转换为 Gradle 的最佳解决方案。我在团队环境中工作,我们目前共享 .ipr 文件,因为我们有一些我们跟踪的构建配置。我们最终会摆脱那些支持 Gradle 的人,但在 Gradle 转换完成之前,我不能把事情搞砸。

此外,我们的 Java 源文件位于 src 目录的根目录下,而不是标准的 src/main/java。

有没有一种方法可以将 Gradle 添加到我的项目中,不会让我删除并重新创建我的 IntelliJ 项目,并且不会在其他人执行 Git 拉取操作时搞砸?

【问题讨论】:

标签: java git intellij-idea gradle


【解决方案1】:

我使用的是 IntelliJ 版本 12。

我通过创建一个全新的项目并“从版本控制中签出”解决了类似的问题 以后合并这两个项目相当容易。

【讨论】:

    【解决方案2】:

    添加:

    build.gradle 
    

    在您的根项目文件夹中,并使用插件例如:

    apply plugin: 'idea'
    //and standard one
    apply plugin: 'java'
    

    并从命令行发出这种火焰:

    gradle cleanIdea 
    

    然后:

    gradle idea
    

    之后一切都会正常

    【讨论】:

    • 在尝试此解决方案时,是否有人遇到错误“模块 'xx' 不受 gradle 支持?如果是,它是如何解决的
    • 谢谢,这让我发疯了,在将 IntelliJ 添加到 build.gradle 后,我无法弄清楚如何让 IntelliJ 刷新项目依赖项。
    • gradle idea(取决于ideaProject、ideaModule、ideaWorkspace)对我不起作用,因为ideaModule 一直失败。相反,任务 gradle ideaProject 工作正常,该项目现在已启用 Gradle。
    • 好吧,这种方法有问题。您将收到“无法将依赖项应用于 groovy.lang.closure”错误。请查看此解决方案:stackoverflow.com/a/17168175/2517730
    • 这个有点过时了,因为idea Gradle 插件仍然使用基于文件的idea 项目,而基于文件夹的项目是标准的并且更方便
    【解决方案3】:

    另一种方式,更简单。

    添加你的

    build.gradle
    

    文件到项目的根目录。关闭项目。手动删除“*.iml”文件和/或“.idea”目录。然后选择“Import Project...”,导航到你的项目目录,选择build.gradle文件并点击OK。

    【讨论】:

      【解决方案4】:

      作为将来的参考,如果您已经有一个 Maven 项目,您只需在项目目录中执行 gradle init 即可生成 build.gradle 和其他依赖项,然后在中执行 gradle build同一个目录。

      【讨论】:

      • 兴趣:Creating New Gradle Builds - 注:gradle init 可以生成各种不同类型的项目,甚至知道如何将简单的pom.xml 文件翻译成 Gradle。
      【解决方案5】:

      无需删除任何.iml 文件。按照这个:

      • 关闭项目
      • File -> Open... 并选择您新创建的build.gradle
      • IntelliJ 会询问您是否需要:
        • Open Existing Project
        • Delete Existing Project and Import
      • 选择第二个选项就完成了

      【讨论】:

      • 我该如何解决这个问题,新项目必须在另一个文件夹中?
      • 这是否会从您的项目结构中添加 JAR?库作为依赖项并创建一个 EAR(使用插件),如 Project Structure |神器?
      • @NOTiFY 我对此表示怀疑。这相当于从头开始签出项目。
      • @Michal Kordas 我手动添加了所有依赖项,没有花费我预期的时间,现在添加了 WAR、JAR 和 EAR 创建。在 JetBrains youtrack.jetbrains.com/issue/IDEABKL-6990 有一个功能请求
      【解决方案6】:

      在 IntelliJ 2017.2.4 中,我刚刚关闭了项目并重新打开它,然后出现一个对话框,询问我是否要链接 build.gradle,这会打开 Gradle 项目的导入对话框。

      无需删除任何文件或将idea插件添加到build.gradle

      【讨论】:

      • 可以确认这很好用。只需在项目根目录下运行 gradle init ,下次打开项目时就会出现对话框。
      【解决方案7】:
      1. 在项目的根目录中添加build.gradle

      2. 那么File -> Invalidate Caches / Restart

      这是 Java 项目的基本 build.gradle:

      plugins {
          id 'java'
      }
      
      sourceCompatibility = '1.8'
      targetCompatibility = '1.8'
      version = '1.2.1'
      

      【讨论】:

        【解决方案8】:

        添加到其他答案。对我来说,删除.mvn 目录然后添加build.gradle 很有帮助。新版本的 IntelliJ 会自动注意到您使用的是 Gradle。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-10-05
          • 1970-01-01
          • 1970-01-01
          • 2015-08-31
          • 2011-05-09
          • 2022-01-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多