如果更改了Java的Gradle常规目录结构,那么.class文件将在何处创建?

时间:2018-04-01 18:10:12

标签: java gradle gradle-plugin

如果是常规目录结构,则将src \ main \ java更改为src \ java \ main 那么.class文件放在哪里?gradle build命令给出了消息 BUILD SUCCESSFUL,但是如何找到运行应用程序的.class文件的位置。

找到.class文件创建位置的方法是什么?

1 个答案:

答案 0 :(得分:1)

如果您只是将源文件放入另一个目录,以便布局不遵循Maven约定(src/main/javasrc/test/java进行测试),Gradle将不会使用它们,因为它可以找不到它们。

约定优于配置并不意味着,没有配置,只是意味着您不需要指定它,如果您遵循约定。 Gradle(默认情况下)配置为编译*.java中的src/main/java个文件。所有其他文件将被忽略(用于编译)。

但是,您可以手动破坏约定并配置源文件位置:

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

如果您不更改任何其他配置(例如compileJava任务的属性),则类文件仍将位于<project-dir>/build/classes/main,其中main是源的名称set(默认值)。

请注意,BUILD SUCCESSFUL并不意味着构建了任何内容,只是没有任务失败。 Gradle完全没有找到(因此也没有编译)任何源文件。但是,如果您使用命令行选项–console=plain,则compileJava任务应报告NO-SOURCE