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

If the Gradle conventional directory structure for Java is changed, where do the .class files get created?

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

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

如果你只是把源文件放在另一个目录,这样布局不遵循Maven约定(src/main/javasrc/test/java用于测试),Gradle不会使用它们,因为它找不到它们。

Convention over configuration不是说没有配置,只是说不需要指定,if 你遵守惯例。 Gradle(默认情况下)配置为编译 src/main/java 中的 *.java 个文件。所有其他文件将被忽略(用于编译)。

但是您可以打破惯例并手动配置源文件位置:

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

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

请注意,BUILD SUCCESSFUL 并不意味着构建了任何东西,只是没有任务失败。 Gradle 完全没有找到(因此不编译)任何源文件。但是如果你使用 command-line 选项 –console=plaincompileJava 任务应该报告 NO-SOURCE.