为什么 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
。
我通过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
。