【问题标题】:Gradle setting sourceSet in childGradle 设置 sourceSet in child
【发布时间】:2013-06-13 07:14:58
【问题描述】:

我是 Gradle 新手,我的任务是将大型项目从 Maven 转移到 Gradle。还有一个问题,我需要在 wicket 模块中设置 sourceSet,因为 HTML 文件位于 java 文件旁边。如果我在构建它时将它设置在 wicket 模块 build.gradle 中,它会在资源目录中查找 html 文件,如果我将它设置在父 build.gradle 文件中它可以工作,但其他 pats 失败。所以想问问是我设置错了还是别的什么。

    sourceSets {
    main {
        resources {
            srcDir 'src/main/java'
            srcDir 'src/main/resources'
            srcDir 'src/main/groovy'
        }
    }
    test {
        resources {
            srcDir 'src/main/java'
            srcDir 'src/main/resources'
            srcDir 'src/test/java'
            srcDir 'src/main/groovy'
        }
    }
}

【问题讨论】:

    标签: resources gradle


    【解决方案1】:

    我猜 Gradle 不喜欢既是资源又是代码源的路径。只要您不覆盖 main{java},它就会默认为 src/main/java。

    您无法将 html 文件移动到 src/main/resources 吗?我的猜测是,只要您在资源文件夹中保留相同的包,该模块应该可以正常工作。

    【讨论】:

    • 感谢回答,不知道将html文件移动到资源中,需要问我的经理
    • 如果我正确理解 Maven 和 Gradle,那就应该这样。例如。 src/main/java 下的 Java 文件,src/main/groovy 下的 Groovy 文件。这样 Maven/Gradle 期望它应该尝试编译该文件夹下的所有文件。由于 html 文件不需要任何编译,它们应该位于 src/main/resources 下。只要您保留文件夹结构,您的 html 文件就会在编译期间放置在正确的文件夹中。 Maven 和 Gradle 在编译之前都会处理资源。
    • 如果不起作用,您可以尝试与gradle.org/docs/current/dsl/org.gradle.api.tasks.SourceSet.html 不同的设置,也许 allSource 有效?
    猜你喜欢
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多