You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用单个POM文件创建两个Maven项目

复用项目X POM运行JMH项目的实现方案

你可以直接在现有项目X的POM文件中补充JMH相关配置,无需为JMH项目Y单独创建POM文件,实操步骤如下:

1. 补充JMH依赖

在项目X POM的<dependencies>节点下添加JMH核心依赖,设置scope为test避免依赖被打入生产产物:

<dependency>
    <groupId>org.openjdk.jmh</groupId>
    <artifactId>jmh-core</artifactId>
    <version>1.37</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.openjdk.jmh</groupId>
    <artifactId>jmh-generator-annprocess</artifactId>
    <version>1.37</version>
    <scope>test</scope>
</dependency>

JMH版本可以根据你的需求调整,无需和项目其他依赖版本绑定

2. 配置JMH编译执行插件

在项目X POM的<build><plugins>节点下添加插件配置,指定JMH代码的存放路径,建议将项目Y的所有代码放在项目X的src/test/jmh目录下,和普通单元测试做隔离:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.11.0</version>
    <executions>
        <execution>
            <id>compile-jmh</id>
            <phase>test-compile</phase>
            <goals>
                <goal>testCompile</goal>
            </goals>
            <configuration>
                <compileSourceRoots>
                    <compileSourceRoot>${project.basedir}/src/test/jmh</compileSourceRoot>
                </compileSourceRoots>
            </configuration>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>pl.project13.maven</groupId>
    <artifactId>jmh-maven-plugin</artifactId>
    <version>0.3.9</version>
    <configuration>
        <sourceDirectory>${project.basedir}/src/test/jmh</sourceDirectory>
        <includes>
            <include>**/*Benchmark.java</include>
        </includes>
    </configuration>
</plugin>

3. 运行JMH测试

直接在项目X根目录执行以下命令即可运行项目Y的基准测试:
mvn clean test-compile jmh:run

如果需要单独导出JMH的可执行jar包,执行mvn jmh:jar即可生成独立的基准测试包,不需要额外维护独立POM。

内容的提问来源于stack exchange,提问作者pradeep3009

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 06:15:04