如何在IntelliJ中导入包含模块和java包的项目?

时间:2016-12-13 09:32:10

标签: intellij-idea

我们有一个包含多个模块的java项目。我们使用git进行版本控制,并希望开发人员能够选择自己的IDE。所以我们不要用git推送.idea和.iml文件。这意味着IntelliJ中的开发人员需要从git克隆的人也需要在IntelliJ中设置项目。但是,我们在设置时遇到了一些问题。在我自己的项目中它工作正常,看起来像:

Proejct Module (Is this a real module?)
   ⤷ Module A
        ⤷ src
           ⤷ main
               ⤷ java
                   ⤷ Package 1
                   ⤷ Package 2
           ⤷ test
   ⤷ Module B

在我们向项目添加软件包之前,新开发人员可以从git中取出并在IntelliJ中打开 Module P ,然后从模块A 转到项目结构和导入模块模块B 。但是,如果他们尝试相同的事情,IntelliJ会尝试从模块A 中创建模块测试

我们暂时使用的解决方法是直接将模块A和B打开为单独的IntelliJ项目。如果我们这样做,IntelliJ不会尝试从 main test 中创建模块。然而,这对我们来说非常不便。

我们如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这是一个很好的方法来制作你的源控制系统"不可知的"关于IDE而不是检查.idea*.iml以及来自其他IDE的等价物。

但是,您确实需要使用mavengradle等构建控制系统。

在我的工作场所,我们将maven用于所有java项目。在根级别定义pom.xml非常简单,它定义了您的模块以及许多其他内容。

将maven项目导入intellij时,会自动为您创建所有相关的IntelliJ模块。从本质上讲,您只需要导入pom.xml,然后就可以了。

否则每次从git查看源代码时导入和创建模块都将是一场噩梦。 Maven并不完美,但我强烈推荐使用maven或gradle。

要从根pom.xml定义多个模块,请创建如下部分:

<modules>
    <module>module-A</module>
    <module>module-B</module>
</modules>

然后,模块A和B中的pom.xml应通过<parent>标记定义引用根pom的部分。