【问题标题】:Why there is no .class file in my jar file created by gradle?为什么我的 gradle 创建的 jar 文件中没有 .class 文件?
【发布时间】:2020-06-05 11:26:54
【问题描述】:

我通过 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文件。

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

为什么会出现这种现象?我应该解决什么问题?


■附加信息

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

【问题讨论】:

    标签: java gradle build jar build.gradle


    【解决方案1】:

    你写的

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

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

    延伸阅读:Organizing Gradle Projects

    【讨论】:

    • 很抱歉我回复晚了。我将文件夹结构重建为src/main/java 并再次构建了jar 文件。然后,我可以用 .class 文件创建一个 jar 文件。感谢您的有用建议!
    猜你喜欢
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-15
    • 2013-05-28
    • 1970-01-01
    相关资源
    最近更新 更多