Java 链接的源文件夹

Java 链接的源文件夹,java,eclipse,gradle,dependencies,multi-project,Java,Eclipse,Gradle,Dependencies,Multi Project,我正在使用GradleEclipse插件,我正在尝试连接两个项目。其中一个项目是一个库,并且永远不会被导出,因为我只是在实际项目中链接到库源。另一个项目应该有一个指向库源的虚拟链接,并将链接的目录作为源目录添加到类路径。如何使用build.gradle实现这一点?具有添加所需项目(项目属性->Java构建路径->项目)或虚拟源文件夹(项目属性->Java构建路径->源->链接源…)的功能,但似乎无法将这些功能用于Gradle Java、Gradle eclipse或Gradle eclipse

我正在使用GradleEclipse插件,我正在尝试连接两个项目。其中一个项目是一个库,并且永远不会被导出,因为我只是在实际项目中链接到库源。另一个项目应该有一个指向库源的虚拟链接,并将链接的目录作为源目录添加到类路径。如何使用build.gradle实现这一点?具有添加所需项目(项目属性->Java构建路径->项目)或虚拟源文件夹(项目属性->Java构建路径->源->链接源…)的功能,但似乎无法将这些功能用于Gradle Java、Gradle eclipse或Gradle eclipse wtp插件。

我知道这是一个旧线程,但是,更详细的回答可能会帮助将来像我这样的人花很多时间(浪费?)在谷歌上搜索答案

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

如果已经声明了
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任务视图,选择项目,刷新任务列表,最后运行“eclipseasspath”


属性:我从这篇文章()中拼凑了以上内容。

试试
linkedResource
,如图所示。是的,这就是我目前正在使用的。只链接到文件夹,而不将子文件夹层次结构作为包进行集成。它也不会搜索代码中的错误。哦,最重要的是:它不会编译那个虚拟源文件夹。如果你已经在使用
linkedResource
,你应该在你的问题中详细描述这一点。如果
linkedResource
没有剪切它,您可能必须使用
eclipse
插件的挂钩直接生成所需的XML。有关这些挂钩的一般信息,请参见完整Gradle分布中的和示例。