Saya menambahkan Framework Checker ke Java Gradle Build yang ada. Saya memiliki masalah yang terintegrasi dan memelihara dan itu semua berfungsi dengan baik. Tetapi sekarang setelah saya menambahkannya, build saya tidak lagi menghasilkan file .jar seperti dulu.

Sebelumnya, saya akan mendapatkan .jar di build/libs/myproject.jar. Sekarang sebaliknya saya melihat build/checkerframework dan build/main tetapi tidak build/libs dan no .jar.

build.gradle saya di bawah ini. Adakah yang mencoba ini sebelumnya? Keberhasilan?

Saya kira saya juga menerima jawaban yang menunjukkan bagaimana menjalankan pemeriksa di luar build, mis. gradle check untuk menjalankan build dengan pemeriksa, dan gradle build untuk menghasilkan .jar. Tapi saya benar-benar lebih suka hanya memiliki satu langkah build jika memungkinkan.

Terima kasih!

plugins {
    id "org.checkerframework" version "0.5.18"
    id 'application'
}

apply plugin: 'org.checkerframework'

checkerFramework {
    checkers = [
        'org.checkerframework.checker.nullness.NullnessChecker',
        'org.checkerframework.checker.units.UnitsChecker'
    ]
}

repositories {
    jcenter()
}

java {
    sourceCompatibility = JavaVersion.VERSION_11
    targetCompatibility = JavaVersion.VERSION_11
}

jar {
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE

    // Embed all dependencies to create a "fat jar" as required for AWS deployment.
    // Exclude 3rd-party signing files to prevent security errors at runtime
    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    } {
        exclude 'META-INF/*.RSA', 'META-INF/*.SF', 'META-INF/*.DSA'
    }

    manifest {
        attributes('Main-Class': 'client.CliMain')
    }
}
0
J. Perkins 2 April 2021, 23:17

1 menjawab

Jawaban Terbaik

Jika build lewat, maka tambahkan -processor seharusnya tidak mempengaruhi apakah file .jar diproduksi. (Kecuali Anda lulus -proc:only atau sejenisnya.)

Jika build gagal, maka Gradle tidak akan membangun file JAR. Anda mengatakan kerangka checker adalah "membesarkan masalah", jadi mungkin build itu gagal.

0
mernst 4 April 2021, 16:01