在IntelliJ中构建Gradle多模块项目 - 工件和战争之间的关系

时间:2014-08-26 19:04:05

标签: java intellij-idea gradle dependencies

我在IntelliJ中使用multimodule项目gradle构建时遇到了一些问题。我的gradle构建工作正常,但IntelliJ没有把它拿起来,因为它会导致我的开发周期大幅减慢。

我的项目之间有这种依赖设置(5个项目,3个战争,共享我的模型等.common-web有常见的Web组件)

TD (war) -> common-web
CP (war) -> common-web
CP (war) -> Shared
Web (war) -> common-web
Web (war) -> Shared
Shared
common-web

具有以下结构:

|- TD
|- Web
|- Shared
|- common-web
|- CP
| settings.gradle
| build.gradle

我有一个gradle构建文件和一个gradle设置文件。

include 'TD', 'CP', 'Web', 'Shared', 'common-web'

allprojects {

    repositories {
        mavenCentral()
    }

    sourceCompatibility = 8

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

subprojects {
    apply plugin: 'java'
    apply plugin: 'idea'

    dependencies {
       // dependencies...
    }
}
project(':CP') {
    apply plugin: 'war'
    dependencies {
       // dependencies...
        compile project(':shared')
        compile project(':common-web')
    }
}
project(':web') {
    apply plugin: 'war'

    dependencies {
       // dependencies...

        compile project(':common-web')
        compile project(':shared')
    }
}
project(':shared') {
    dependencies {
       // dependencies...
    }
}
project(':TD') {
    apply plugin: 'war'
    dependencies {
       // dependencies...
       compile project(':common-web')
    }
}
project(':common-web') {
    apply plugin: 'war' // needed to allow the providedComp

    dependencies {
       // dependencies...
    }
}

有没有办法配置gradle idea插件才能正确构建?已经发现make按钮不起作用,我认为它应该工作,忽略模块中的编译错误等。我看到在项目的根目录中,IntelliJ创建了一个文件夹类/工件,并没有使用(正确)构建在module / lib文件夹中。

我看到的错误包括罐子的错误。例如,Web项目依赖于TD项目,该项目无处定义。

这是IntelliJ的gradle插件中的错误还是我在做一些我不应该做的事情?

0 个答案:

没有答案