Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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
使用gradle构建Java时跳过部分源代码树_Java_Gradle - Fatal编程技术网

使用gradle构建Java时跳过部分源代码树

使用gradle构建Java时跳过部分源代码树,java,gradle,Java,Gradle,假设我有一个Java项目,我想用gradle构建,但我想gradle跳过源代码树的某些包/部分 如果源树具有非标准布局,我可以通过以下方式指定: sourceSets { main { java { srcDirs = ['src'] } resources { srcDirs = ['src'] } } } 有没有办法告诉gradle忽略src/org/exampl

假设我有一个Java项目,我想用gradle构建,但我想gradle跳过源代码树的某些包/部分

如果源树具有非标准布局,我可以通过以下方式指定:

sourceSets {
    main {
        java {
            srcDirs = ['src']
        }
        resources {
            srcDirs = ['src']
        }
    }
}

有没有办法告诉gradle忽略
src/org/example/foo/barproject/ui
中的所有内容,但构建其余部分?如果是,如何解决?

以下是我的解决方案:

apply plugin: 'java'

sourceSets {
    main {
        java {
            srcDir = ['src']
            exclude "main/*"
            exclude "hello/*"
            exclude "test/*"
        }
    }
}
我的文件夹布局:

$ ls -R src
Library.java hello        main         test

src/hello:
Application.java     HelloController.java

src/main:
java

src/main/java:
Library.java hello

src/main/java/hello:
Application.java     HelloController.java

src/test:
java

src/test/java:
LibraryTest.java
输出:

$ ./gradlew clean build -x test
Creating properties on demand (a.k.a. dynamic properties) has been deprecated and is scheduled to be removed in Gradle 2.0. Please read http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html for information on the replacement for dynamic properties.
Deprecated dynamic property: "srcDir" on "source set 'main'", value: "[src]".
:clean
:compileJava
:processResources UP-TO-DATE
:classes
:jar
:assemble
:check
:build

BUILD SUCCESSFUL

Total time: 2.935 secs

让我知道这是否有效

src/org/example/foo/barproject/ui
src/main/org/example/foo/barproject/ui
?@chenrui前者,如非标准
srcDirs
所示,我假设这是1.10级,对吗?@chenrui正确;-)谢谢,这个成功了。不幸的是,在尝试之后,我还需要排除分散在整个代码库中的其他类,因此,尽管这符合我的预期,但我必须尝试一种不同的方法。