假设我有一个想要使用 gradle 构建的 Java 项目,但我希望 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
请告诉我这是否有效。
关于java - 使用 gradle 构建 Java 时跳过部分源代码树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45172207/