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
任何想法如何解决这个问题?
- 重复条目:META-INF / myLibrary.kotlin_module
- Kotlin和Gradle – 从stdio读取
- Android的 – 如何使用Kotlin在SortTableView中设置ColumnComparator
- Android,Gradle:为什么(第二次)“gradlew build –build-cache”不能马上完成?
- 运行Android(使用Kotlin编写)使用Gradle2.0.0-alpha插件编译的项目时出错
- 你如何设置Kotlin,Gradle和Web框架的Spring Loaded?
- 在库模块中使用Kotlin,而不在app模块中使用它
- 使用命令行参数的Kotlin Gradle Spring bootRun任务
- 为什么不能Intellij Idea Console暂停用户输入