Ara*_*hov 11 java code-generation gradle
Project包含注释处理器,它在编译期间生成Java代码.默认情况下,gradle输出生成的源文件到build/classes目录中.这会导致IntelliJ发现新生成的源文件时出现一些问题.
是否有任何直接的方法配置gradle将源文件输出到另一个目录?例如$buildDir/gen/main/java或$buildDir/build/generated/main/java?
Ara*_*hov 11
java编译器有一个选项,允许自定义生成的java源(文档)的输出目录.
-s dir
指定放置生成的源文件的目录.该目录必须已存在; javac不会创建它.如果类是包的一部分,则编译器将源文件放在反映包名的子目录中,根据需要创建目录.例如,如果指定-s C:\ mysrc并且该类名为com.mypackage.MyClass,则源文件将放在C:\ mysrc\com\mypackage\MyClass.java中.
例子 build.gradle
compileJava {
options.compilerArgs << "-s"
options.compilerArgs << "$projectDir/generated/java"
doFirst {
// make sure that directory exists
file(new File(projectDir, "/generated/java")).mkdirs()
}
}
clean.doLast {
// clean-up directory when necessary
file(new File(projectDir, "/generated")).deleteDir()
}
sourceSets {
generated {
java {
srcDir "$projectDir/generated/java"
}
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码片段接下来会:
请改用gradle apt插件.
小智 6
只需在build.gradle文件中为project.buildDir属性指定值:
project.buildDir = '/gen/main/java'
Run Code Online (Sandbox Code Playgroud)
这会将所有生成的构建文件放到该<project_root>/gen/main/java文件夹中。
| 归档时间: |
|
| 查看次数: |
29731 次 |
| 最近记录: |