Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果Java的Gradle常规目录结构发生了变化,那么.class文件在哪里创建?_Java_Gradle_Gradle Plugin - Fatal编程技术网

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

如果Java的Gradle常规目录结构发生了变化,那么.class文件在哪里创建?,java,gradle,gradle-plugin,Java,Gradle,Gradle Plugin,如果传统的目录结构src\main\java更改为src\java\main 那么.class文件将放在哪里呢?gradle build命令给出了消息 生成成功,但如何找到运行应用程序的.class文件的位置 找到.class文件创建位置的方法是什么?如果您只是将源文件放在另一个目录中,这样布局就不会遵循Maven约定(src/main/java或src/test/java用于测试),Gradle不会使用它们,因为它找不到它们 约定优于配置并不意味着没有配置,它只是意味着如果遵循约定,则不需要指

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


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

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

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

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

sourceSets {
    main {
        java {
            srcDirs = ['src/java/main']
        }
    }
}
如果不更改任何其他配置(例如,
compileJava
任务的属性),类文件仍将位于
/build/classes/main
,其中
main
是源集的名称(默认)


请注意,
buildsuccessful
并不意味着构建了任何东西,只意味着没有任务失败。Gradle根本找不到(因此也不编译)任何源文件是完全正确的。但是如果使用命令行选项
–console=plain
,则
compileJava
任务应报告
无源代码

暴力解决方案:
查找-名称“*.class”
。您是在更改配置,还是只是将源代码放在不同的位置directory@jrtapsell,源文件被放在包结构的最后一个文件夹中。包结构在文件夹/main/之后启动,就像这个/src/java/main/package structure错误,我已经创建了目录结构projectroot\src\java\main\package structure\,并且源文件被放在包结构的最后一个文件夹中。当运行构建文件时,会显示一条构建成功消息,尽管创建了构建文件夹,但看不到类文件夹,只有libs和temp。lu koerfer,正如您所说的,compileJava任务报告无源代码gradle--console=plain build:compileJava无源代码