如果Java的Gradle常规目录结构发生了变化,那么.class文件在哪里创建?
如果传统的目录结构src\main\java更改为src\java\main 那么.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不会使用它们,因为它找不到它们 约定优于配置并不意味着没有配置,它只是意味着如果遵循约定,则不需要指
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无源代码