Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将gradle父项目添加到现有eclipse多模块项目中_Eclipse_Gradle - Fatal编程技术网

将gradle父项目添加到现有eclipse多模块项目中

将gradle父项目添加到现有eclipse多模块项目中,eclipse,gradle,Eclipse,Gradle,我目前有一个现有的eclipse多模块项目。从文件系统的角度来看,该项目都是同级项目,但具有以下项目依赖关系树: 日食计划1 日食计划2 日食计划3 现在,我想添加一个新的父项目gradleProject1,它包含eclipseProject1以及eclipseProject2和eclipseProject3作为子项目。我希望新项目是一个gradle项目,使用它可以生成eclipse.project和classpath文件,如果它们已经存在,也可以通过gradle DSL为gradle ecli

我目前有一个现有的eclipse多模块项目。从文件系统的角度来看,该项目都是同级项目,但具有以下项目依赖关系树:

日食计划1 日食计划2 日食计划3

现在,我想添加一个新的父项目gradleProject1,它包含eclipseProject1以及eclipseProject2和eclipseProject3作为子项目。我希望新项目是一个gradle项目,使用它可以生成eclipse.project和classpath文件,如果它们已经存在,也可以通过gradle DSL为gradle eclipse插件创建它们

以下是我的DSL的外观:

eclipse {
    //Generates .project file with following in <projects> node
    project {
        referencedProjects 'eclipseProject1', 'eclipseProject2', 'eclipseProject3'
    }

    //Generates .classpath with following jars from sub-projects as classpath entries
    classpath {
        file {
            withXml {
                def node = it.asNode()
                node.appendNode('classpathentry', [kind: 'src', path: '../eclipseProject1/output/gradleProject1.jar'])
                node.appendNode('classpathentry', [kind: 'src', path: '../eclipseProject2/output/gradleProject2.jar'])
                node.appendNode('classpathentry', [kind: 'src', path: '../eclipseProject3/output/gradleProject3.jar'])
            }
        }
    }
}
这一切都可以很好地工作,但当我运行组装任务时,我会收到错误,表明我的子项目没有作为依赖项包含在gradleProject1中。我怎样才能解决这个问题

这对我有用

首先添加eclipse子项目生成其jar输出的文件夹:

repositories {
    mavenCentral()

    //Pickup dependencies from subprojects
    flatDir {
        dirs '../eclipseProject1/output', '../eclipseProject2/output', '../eclipseProject3/output'
    }
}
接下来,在依赖项部分添加JAR,如下所示:

dependencies {
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'

    compile group: 'log4j', name: 'log4j', version: '1.2.14'
    compile name: 'eclipseProject1'
    compile name: 'eclipseProject2'
    compile name: 'eclipseProject3'

    testCompile group: 'junit', name: 'junit', version: '4.+'

}