从启用 Checker Framework 的构建创建 Jar?
Create Jar from Checker Framework enabled build?
我正在将 Checker Framework 添加到现有的 Java Gradle 构建中。我集成了 Checker 并提出了问题,一切都很好。但现在我已经添加了它,我的构建不再像以前那样生成 .jar 文件。
以前,我会在 build/libs/myproject.jar
获得一个 .jar。现在我看到 build/checkerframework
和 build/main
但没有 build/libs
也没有 .jar.
我的build.gradle
在下面。以前有人尝试过吗?成功了吗?
我想我也会接受一个答案,该答案显示 运行 如何在构建之外进行检查,例如gradle check
到 运行 使用 Checker 构建,gradle build
生成 .jar。但如果可能的话,我真的更喜欢只有一个构建步骤。
谢谢!
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')
}
}
如果构建通过,那么添加 -processor
应该不会影响是否生成 .jar
文件。 (除非你通过 -proc:only
之类的。)
如果构建失败,则 Gradle 将不会构建 jar 文件。
您说 Checker Framework 正在“引发问题”,所以构建可能失败了。
我正在将 Checker Framework 添加到现有的 Java Gradle 构建中。我集成了 Checker 并提出了问题,一切都很好。但现在我已经添加了它,我的构建不再像以前那样生成 .jar 文件。
以前,我会在 build/libs/myproject.jar
获得一个 .jar。现在我看到 build/checkerframework
和 build/main
但没有 build/libs
也没有 .jar.
我的build.gradle
在下面。以前有人尝试过吗?成功了吗?
我想我也会接受一个答案,该答案显示 运行 如何在构建之外进行检查,例如gradle check
到 运行 使用 Checker 构建,gradle build
生成 .jar。但如果可能的话,我真的更喜欢只有一个构建步骤。
谢谢!
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')
}
}
如果构建通过,那么添加 -processor
应该不会影响是否生成 .jar
文件。 (除非你通过 -proc:only
之类的。)
如果构建失败,则 Gradle 将不会构建 jar 文件。 您说 Checker Framework 正在“引发问题”,所以构建可能失败了。