Kotlin的gradle插件不适用于自定义源集(JMH)
拥有Gradle设置的Kotlin项目:
apply plugin: 'kotlin' apply plugin: 'kotlin-kapt' dependencies { kapt 'org.openjdk.jmh:jmh-generator-annprocess:1.18' ... }
把基准放在src / main / kotlin下工作没有问题。
但是当我为JMH添加一个自定义的源代码集:
sourceSets { jmh { compileClasspath += sourceSets.test.runtimeClasspath runtimeClasspath += sourceSets.test.runtimeClasspath } }
并将src / main / kotlin的基准测试版移至src / jmh / kotlin ,执行基准测试失败:
Exception in thread "main" java.lang.RuntimeException: ERROR: Unable to find the resource: /META-INF/BenchmarkList at org.openjdk.jmh.runner.AbstractResourceReader.getReaders(AbstractResourceReader.java:98) at org.openjdk.jmh.runner.BenchmarkList.find(BenchmarkList.java:122) at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:256) at org.openjdk.jmh.runner.Runner.run(Runner.java:206) at org.openjdk.jmh.Main.main(Main.java:71)
它看起来像kaptJmhKotlin没有做任何事情:
kaptGenerateStubsJmhKotlin UP-TO-DATE Skipping task ':kaptJmhKotlin' as it has no source files and no previous output files. :kaptJmhKotlin NO-SOURCE :compileJmhKotlin
任何想法如何解决这个问题?
- 如何使用Gradle在Kotlin上定位JVM 9?
- Kotlin和Gradle没有Maven中央?
- 从gradle创建maven包装器pom.xml:不能创建<build>元素
- 在build.gradle文件中的compileKotlin块会抛出错误“Could not find method compileKotlin()for arguments ”
- Kotlin:Gradle增量编译
- Gradle:从Groovy切换到Kotlin有什么好处?
- Kotlin:Gradle增量编译
- 将插件升级到3.0.0时出现Gradle构建错误(manifestOutputFile)
- Gradle无法在Windows上读取正确的本地Maven存储库