Gradle“陈旧的输出文件”功能正在删除我所有已编译的Java类

时间:2019-04-01 07:52:01

标签: gradle build.gradle

我目前正在使用ANT构建一个相当大的整体Java项目,并尝试使用Gradle对其进行重建。

我定义了一些sourceSet和任务来编译整个项目。组件和某些例行程序之间有很多依赖关系,它们还将类编译到相同的目录/子目录中。

问题在于,一个SourceSet的编译通常会删除一些已经由另一个SourceSet编译的类。我猜想它与此功能https://docs.gradle.org/4.2-rc-1/release-notes.html#safer-handling-of-stale-output-files有关,但是我无法使用正确的输入/输出来使它正常工作。dir

是否可以取消激活Gradle认为可以安全删除的文件?例如我完整的编译类目录?

非常感谢您。

删除示例:

sourceSetX{
        java {
            srcDirs = ['src/']
            include "path/to/sourceSetsX/subdirectory/"
            outputDir = file('classes')
        }
    }

> Task :compileSourceSetXJava
Deleting stale output file: C:/path/to/project/classes
...

例如,此sourceSet编译在一个子目录中,但将删除整个outputDir目录。

0 个答案:

没有答案