Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JMH不';t在Java模块内运行(找不到资源:/META-INF/BenchmarkList)_Java_Maven_Java Module_Jmh - Fatal编程技术网

JMH不';t在Java模块内运行(找不到资源:/META-INF/BenchmarkList)

JMH不';t在Java模块内运行(找不到资源:/META-INF/BenchmarkList),java,maven,java-module,jmh,Java,Maven,Java Module,Jmh,我接受了一个使用maven-surefire-plugin(自动测试)来触发JMH基准测试的项目,并在其中添加了module-info.java。现在,META-INF/BenchmarkList不再生成(事实上,整个目录都丢失了),因此在启动基准测试时,我出现了以下错误: 错误:找不到资源:/META-INF/BenchmarkList 我怀疑Java模块正在阻止注释处理器正常运行,但我不知道如何修复它。有什么想法吗?我通过反复试验找到了答案。它看起来像maven编译器插件3.8.0中的一个b

我接受了一个使用
maven-surefire-plugin
(自动测试)来触发JMH基准测试的项目,并在其中添加了
module-info.java
。现在,
META-INF/BenchmarkList
不再生成(事实上,整个目录都丢失了),因此在启动基准测试时,我出现了以下错误:

错误:找不到资源:/META-INF/BenchmarkList


我怀疑Java模块正在阻止注释处理器正常运行,但我不知道如何修复它。有什么想法吗?

我通过反复试验找到了答案。它看起来像maven编译器插件3.8.0中的一个bug(或“功能”)。当出现
module info.java
时,JMH注释处理器不再自动拾取。添加此配置修复了我的问题:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
    [...]
        <annotationProcessorPaths>
            <path>
                <groupId>org.openjdk.jmh</groupId>
                <artifactId>jmh-generator-annprocess</artifactId>
                <version>${jmh.version}</version>
            </path>
        </annotationProcessorPaths>
    [...]
    </configuration>
</plugin>

org.apache.maven.plugins

针对maven编译器插件。

我通过反复试验找到了答案。它看起来像maven编译器插件3.8.0中的一个bug(或“功能”)。当出现
module info.java
时,JMH注释处理器不再自动拾取。添加此配置修复了我的问题:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
    [...]
        <annotationProcessorPaths>
            <path>
                <groupId>org.openjdk.jmh</groupId>
                <artifactId>jmh-generator-annprocess</artifactId>
                <version>${jmh.version}</version>
            </path>
        </annotationProcessorPaths>
    [...]
    </configuration>
</plugin>

org.apache.maven.plugins

针对maven编译器插件。

一般来说,在没有问题的情况下,很难找出错误或其原因。因为问题以maven surefire开始,答案以maven compiler结束。一般来说,当问题没有答案时,很难找出错误或其原因。只是分享一下,因为问题以maven surefire开始,答案以maven compiler结束。在mvn clean安装后也为我工作。jmh.version的值是多少?@LizLamperouge您想要使用的jmh的任何版本。在mvn clean安装后也为我工作。jmh.version的值是多少?@LizLamperouge要使用的JMH版本。