如何为Gradle任务:quarkusIntTest添加外部JVM参数?
配置Quarkus集成测试任务的JVM参数
Quarkus的:quarkusIntTest任务对应的类型是QuarkusIntegrationTest,你可以像配置其他任务一样,通过withType<QuarkusIntegrationTest>来给它添加所需的JVM参数,具体配置如下:
tasks { withType<Test> { systemProperty("java.util.logging.manager", "org.jboss.logmanager.LogManager") jvmArgs("--add-opens=java.base/java.util=ALL-UNNAMED", "--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED") } withType<QuarkusDev> { jvmArguments.addAll( "--add-opens=java.base/java.util=ALL-UNNAMED", "--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED", ) } withType<QuarkusRun> { jvmArguments.addAll( "--add-opens=java.base/java.util=ALL-UNNAMED", "--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED", ) } // 为quarkusIntTest任务配置参数 withType<QuarkusIntegrationTest> { systemProperty("java.util.logging.manager", "org.jboss.logmanager.LogManager") jvmArguments.addAll( "--add-opens=java.base/java.util=ALL-UNNAMED", "--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED", ) } }
如果想避免重复代码,还可以把通用参数抽成变量复用:
tasks { val commonJvmArgs = listOf( "--add-opens=java.base/java.util=ALL-UNNAMED", "--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED" ) val logManagerProperty = "java.util.logging.manager" to "org.jboss.logmanager.LogManager" withType<Test> { systemProperty(logManagerProperty.first, logManagerProperty.second) jvmArgs(commonJvmArgs) } withType<QuarkusDev> { jvmArguments.addAll(commonJvmArgs) } withType<QuarkusRun> { jvmArguments.addAll(commonJvmArgs) } withType<QuarkusIntegrationTest> { systemProperty(logManagerProperty.first, logManagerProperty.second) jvmArguments.addAll(commonJvmArgs) } }
内容的提问来源于stack exchange,提问作者Yue Gu
相关产品推荐
相关产品推荐

