为什么 gradle 创建的 jar 文件中没有 .class 文件?

Why there is no .class file in my jar file created by gradle?

我通过Gradle(Ver 6.1.1)创建了一个jar文件,但是我的jar文件中没有.class文件。

创建的 jar 文件仅包含 META-INF 目录。

我的根目录下的build.gradle如下

apply plugin: 'java'

group = 'com.test.foo'
version = '1.0.0'

sourceCompatibility = '1.8'
targetCompatibility = '1.8'

compileJava {
    options.encoding = 'UTF-8'
}

repositories {
    mavenCentral()
}

dependencies {
    implementation('org.slf4j:slf4j-api:1.7.21')

    testCompile 'junit:junit:4.12'
    testCompile 'org.hamcrest:hamcrest-library:1.3'
}

然后,我输入了以下命令。

$ gradle build 

当然/src下有很多.java文件,但是创建的jar文件不包含.class文件。

我确认了,但这对我没有用,因为我的使用命令是由插件提供的。

为什么会出现这种现象?我应该修复什么?


■补充信息

/build/classes 目录也没有创建。

你写了

Of course there are many .java files under /src, but created jar file does not contains .class files.

Gradle,按照惯例,从文件夹 src/main/java 编译 Java 个源文件。确保将文件放入该文件夹(首选)或配置 Gradle 以仅查看 src

进一步阅读:Organizing Gradle Projects