Eclipse Gradle STS插件。添加项目引用与依赖关系管理

时间:2014-09-18 08:04:07

标签: java eclipse gradle dependency-management sts-springsourcetoolsuite

我有Eclipse工作区,有2个项目(让他们称之为主服务器和从服务器)。我想对slave项目使用gradle依赖管理。除了链接到主项目之外,一切都像魅力一样。

STS gradle插件在刷新依赖项后以静默方式删除指向主项目的链接(根据bug STS-3082)。我希望我能以某种方式指示gradle将该链接添加到我的类路径。我只尝试了一个src文件夹,但没有运气。

欢迎任何建议。

的build.gradle

apply plugin: 'eclipse'
apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    compile fileTree(dir: 'lib', include: '**/*.jar')
    compile 'org.mockito:mockito-all:1.8.5'
    compile 'org.powermock:powermock-api-mockito:1.4.8'
}

sourceSets {
    main {
        java {
            srcDir '../Master/src'
            srcDir 'src'
        }
    }
}

的.classpath

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry exported="true" kind="con" path="org.springsource.ide.eclipse.gradle.classpathcontainer"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

更新

要解决此问题,我必须对第srcDir '../Master/src'行进行评论并添加到 build.gradle

eclipse.classpath.file.withXml { xml ->
    def node = xml.asNode()
    node.appendNode('classpathentry', [ combineaccessrules: false, exported: true, kind: 'src', path: '/Master' ])
}

1 个答案:

答案 0 :(得分:1)

您可能需要在http://www.gradle.org/docs/current/dsl/org.gradle.plugins.ide.eclipse.model.EclipseClasspath.html

中描述的EclipseClasspath中使用withXml钩子。