链接的源文件夹

时间:2014-05-07 17:28:00

标签: java eclipse gradle dependencies multi-project

我正在使用Gradle eclipse插件,我试图连接两个项目。其中一个项目是一个库,从未导出过,因为我只是链接到实际项目中的库源。另一个项目应具有指向库源的虚拟链接,并将链接目录作为源目录添加到类路径。我怎么能用build.gradle做到这一点?它具有添加所需项目(项目属性 - > Java构建路径 - >项目)或虚拟源文件夹(项目属性 - > Java构建路径 - >源 - >链接源...)的功能,但是在Gradle java,Gradle eclipse或Gradle eclipse-wtp插件中使用这些功能似乎无法实现。

1 个答案:

答案 0 :(得分:0)

我知道这是一个老话题,但是如果有更详细的答案可能会帮助将来喜欢我的人会花费大量时间(浪费时间)来搜索答案。

我猜彼得在他的最后评论中提到的是:

如果您已声明linkedResource,则可以使用classpath声明将其添加到.classpath文件中,如下所示:

eclipse {
    project {
        linkedResource name: 'java', type: '2', location: '[path-to-folder-to-be-linked]/src/main/java'
        linkedResource name: 'java-resources', type: '2', location: '[path-to-folder-to-be-linked]/src/main/resources'
        linkedResource name: 'test', type: '2', location: '[path-to-folder-to-be-linked]/src/test/java'
        linkedResource name: 'test-resources', type: '2', location: '[path-to-folder-to-be-linked]/src/test/resources'
    }
    classpath {
        file {
            withXml {
                def node = it.asNode()
                node.appendNode('classpathentry', [kind: 'src', path: 'java', exported: true])
                node.appendNode('classpathentry', [kind: 'src', path: 'java-resources', exported: true])
                node.appendNode('classpathentry', [kind: 'src', path: 'test', exported: true])
                node.appendNode('classpathentry', [kind: 'src', path: 'test-resources', exported: true])
            }
        }
    }
}

在我的情况下,我链接到我网络上另一台机器上的文件,因此[要链接的文件夹路径]类似于“/ Volumes / pf / Documents / workspace / ... ”

如果您在build.gradle中拥有上述内容,并且在STS / Eclipse中使用Gradle工具,请打开Gradle Tasks视图,选择项目,刷新任务列表,最后运行“eclipseClasspath”。

归因:我从这篇文章(Eclipse plugin: add new element to a classpathentry)拼凑了上述内容。