Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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
Java 依赖于另一个Gradle脚本中的项目_Java_Gradle_Libgdx - Fatal编程技术网

Java 依赖于另一个Gradle脚本中的项目

Java 依赖于另一个Gradle脚本中的项目,java,gradle,libgdx,Java,Gradle,Libgdx,我有以下文件夹结构: projects build.gradle core/ samples/ sample1/ build.gradle core/ desktop/ ios/ html/ android/ core项目是一个Java库,而sample1是一个希望依赖于core的Libgdx应用程序 最外层的构

我有以下文件夹结构:

projects
    build.gradle
    core/
    samples/
        sample1/
            build.gradle
            core/
            desktop/
            ios/
            html/
            android/
core
项目是一个Java库,而
sample1
是一个希望依赖于
core
的Libgdx应用程序

最外层的构建文件负责
核心
项目以及另一个项目(未列出)

问题在于Libgdx应用程序还包含一个
core
项目,该项目承载所有共享的游戏逻辑。这是由Libgdx项目设置工具生成的模板


如何在Gradle中解决此问题而不重命名任何项目?

在根项目级别,您需要添加“settings.Gradle”,其内容如下:

rootProject.name = 'projects'

include ':core'
project(':core').projectDir = "$rootDir/core" as File

include ':samples:sample1:core'
project(':samples:sample1:core').projectDir = "$rootDir/samples/sample1/core" as File

include ':samples:sample1:desktop'
project(':samples:sample1:desktop').projectDir = "$rootDir/samples/sample1/desktop" as File

在项目(例如桌面)build.gradle中,可以添加依赖项,如:

compile project(':core')
compile project(':samples:sample1:core')

ps:Libgdx很好

有没有一种不污染根文件夹的方法?我将不得不添加许多条目,每个项目的每个样本一个。。。也许我应该重命名Libgdx core项目…在每个示例中,您可以添加类似的设置。gradle但使用相对路径:core,例如在示例1中使用:project(':core')。projectDir=“../core”作为文件。此外,您可以使用任何其他名称代替:core,只要它指向该目录即可