java - Gradle 构建旧版本代码

标签 java gradle build windows-10 fatjar

我正在尝试使用 gradle 构建一个 fat jar,但每次我都会得到该程序的非常旧的版本。直接在 IntelliJ 中从 main 运行程序工作正常,因此 gradle 构建本身无法正常工作。当我检查(项目路径)/build/libs 中的 jar 时,文件的日期和时间已更改,因此它确实构建了,但是当我启动它时,我得到了一个月前的构建。我怀疑可能是某些缓存导致了此问题,但我不知道它位于何处。

构建.gradle

version '1.0.2'

apply plugin: 'java'

repositories {
    mavenCentral()
}

task fatJar(type: Jar) {
    manifest {
        attributes 'Implementation-Title': 'Example',
                'Implementation-Version': version,
                'Main-Class': 'com.example.Main'
    }
    baseName = project.name
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    with jar
}

jar {
    manifest {
        attributes(
                'Main-Class': 'com.example.Main',
        )
    }
}

dependencies {
    compile 'com.intellij:forms_rt:6.0.5'
    compile project(':common')
    testCompile group: 'junit', name: 'junit', version: '4.11'

    sourceCompatibility = 1.7
    targetCompatibility = 1.7
}

设置.gradle

rootProject.name = 'example'

include ':common'
project(':common').projectDir = new File(settingsDir, '../common')

命令

 ./gradlew fatjar

最佳答案

嗯,我发现了这个问题,它是多种因素综合作用的结果。实际上唯一过时的是表单用户界面。原因是 IntelliJ 开始使用二进制类文件作为表单而不是 java 源文件。

要修复它,请转到设置,然后转到编辑器,再转到 GUI 设计器。按 Java 源代码而不是二进制类文件。重新生成设计(可能必须删除生成的代码并再次运行)。然后用 gradle 构建它,现在应该可以工作了。

关于java - Gradle 构建旧版本代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50125347/

相关文章:

groovy - 如何从build.gradle执行git命令?

android - 自动生成适用于Android的google-services.json

build - 如何强制 SCons 在目标中使用绝对路径而不是相对路径?

javascript - 为什么 Ionic 2 构建如此之大,即使对于小型/空白应用程序也是如此?

android - 添加依赖项时出现编译错误:com.google.firebase:firebase-core

javascript - 如何在 NodeJs 项目中添加构建脚本和测试

java - 多条件 Java 循环

java - JPA 不想在 Spring Boot 中创建表

java - 如何检测用户取消 AccountPicker 对话框 Android Eclipse

java - 对 (Button)findViewById 的错误感到困惑