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

如何在执行mvn exec:java命令时指定javaagent?

如何在mvn exec:java命令中指定javaagent

针对你的场景,有两种可行解决方案,分别适配临时执行和固定配置的需求:

方案1:通过环境变量临时传递(无需修改pom.xml)

直接在执行命令前设置MAVEN_OPTS环境变量,将javaagent参数注入Maven启动的JVM进程,示例命令如下:

MAVEN_OPTS="-javaagent:/path/to/maven/repository/org/aspectj/aspectjweaver/1.9.24/aspectjweaver-1.9.24.jar" mvn exec:java \
    -Dexec.mainClass="com.manuel.jordan.main.Main" \
    -Dexec.cleanupDaemonThreads=false

MAVEN_OPTS会被Maven用于配置子进程(你的Java应用)的JVM参数,因此javaagent能被正确加载。

方案2:在pom.xml中配置exec-maven-plugin(固定参数)

如果需要长期使用该javaagent参数,可在pom.xml中添加插件的明确配置,通过<jvmArguments>节点指定javaagent:

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>3.1.0</version> <!-- 建议使用最新稳定版本 -->
            <configuration>
                <mainClass>com.manuel.jordan.main.Main</mainClass>
                <cleanupDaemonThreads>false</cleanupDaemonThreads>
                <jvmArguments>-javaagent:/path/to/maven/repository/org/aspectj/aspectjweaver/1.9.24/aspectjweaver-1.9.24.jar</jvmArguments>
            </configuration>
        </plugin>
    </plugins>
</build>

配置完成后,直接执行mvn exec:java即可自动加载指定的javaagent。

你之前尝试的-Dexec.javaagent无效,是因为exec-maven-plugin未暴露该参数用于传递JVM级别的agent配置,JVM参数需通过上述两种方式传递。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 10:42:10