IntelliJ IDEA Gradle + Groovy

Dan*_*lev 6 java groovy intellij-idea gradle maven

我是IDEA的新手.我想做的是有一个项目(或模块?)具有maven文件夹结构(又名src/main/java,src/main/groovy,src/test/groovy等),由Gradle管理并支持创建Groovy类,它们的编译和执行.

我尝试了什么:

  • 创建一个"Groovy"项目.
    • 我可以添加"Maven"支持,但不能添加Gradle.
  • 创建一个"Gradle"项目并向其添加"Groovy"模块
    • 我可以管理依赖项和插件,但文件结构搞砸了.
      • 代码进入项目的子文件夹(也就是模块的名称)
      • 我不能直接将文件夹添加到模块的"src".当我将它们复制到src文件夹时,它们被认为是包名.

我在找什么:

  • 解决特定问题
  • 用于创建多方面(也称为Gradle + Groovy或Java + Maven或Web + YouNameIt)项目/模块的常规工作流程.
  • 解释IDEA中这种范式/结构转变的原因是什么?

小智 1

特定问题的解决方案

0) 在 Preferences -> Plugins 中打开 Gradle 插件

1) 创建任何 Java 项目(Groovy、Maven、纯 Java)

2)在基目录中创建build.gradle文件

3) 打开 JetGradle 视图并单击添加。然后选择您的构建文件

4)当您第一次执行此操作时,IDEA将提示您找到本地Gradle发行版(您也可以稍后在“首选项”->“Gradle设置”中更改它)

至于项目结构,Gradle 遵循 Maven 约定,因此在构建文件中只需编写:

apply plugin: 'java'
Run Code Online (Sandbox Code Playgroud)

一切正常。

创建一个“Gradle”项目并向其中添加“Groovy”模块

我可以管理依赖项和插件,但文件结构搞砸了。

代码进入项目的子文件夹(也称为模块的名称)

我无法直接将文件夹添加到模块的“src”中。当我将它们复制到 src 文件夹中时,它们被视为包名称。

解释 IDEA 中这种范式/结构转变的原因是什么?

主要原因是提供将应用程序逻辑分解为单独模块的可能性,例如app-core、app-web、app-ear 等。每个模块都会生成一个工件:jar、war、ear。

将此与其他 IDE(例如 Eclipse)进行比较,在其他 IDE 中,您将有多个不同的项目(可能相互依赖)来完成相同的事情。所以基本上,您可以将 IDEA 模块视为 Eclipse 项目(粗略地)。这也极大地简化了 Maven 多模块项目的使用。

至于src文件夹:IDEA 允许您将模块“内容根”(模块的基本目录)内的目录标记为源、测试源或排除。如果src被标记为源目录,那么显然里面的所有内容都被视为包和源。

  • 我使用的是社区版,并且“视图”->“窗口工具”菜单中没有“JetGradle”视图。 (2认同)