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

Marathon JavaDriver如何配置JavaProfile启动.exe格式Java Swing应用

错误根因

当前配置不生效的核心原因是启动模式选择错误:

  • JavaProfile.LaunchMode.EXECUTABLE_JAR模式的逻辑是固定拼接java -jar <传入路径>命令启动程序,仅支持原生.jar格式的Java可执行包。
  • 你传入的.exe是Windows平台的原生可执行程序(一般由launch4j、exe4j、jpackage等工具将Java程序打包生成),不是合法的jar包,因此JVM抛出Invalid or corrupt jarfile错误,进程直接退出导致无法建立驱动连接。
正确配置方案

启动打包为exe的Java Swing程序时,需要将启动模式切换为EXECUTABLE,直接指定exe路径作为启动命令,参考代码如下:

// 启动模式改为EXECUTABLE,不再使用EXECUTABLE_JAR
JavaProfile profile = new JavaProfile(JavaProfile.LaunchMode.EXECUTABLE);
profile.setLaunchType(JavaProfile.LaunchType.SWING_APPLICATION);
// 直接指定exe文件的完整路径作为启动命令
profile.setCommand("C:\\DIR\\TO\\APP\\JavaCalc.exe");

JavaDriver calculatorSession = new JavaDriver(profile);
补充说明
  • EXECUTABLE模式下Marathon会直接启动你指定的exe程序,不会主动调用java命令,同时会自动给启动的进程注入JAVA_TOOL_OPTIONS环境变量,加载Marathon Java Agent。只要该exe最终启动的是Java进程,就能自动完成代理挂载,建立驱动会话。
  • 如果启动exe需要附加额外参数,可以使用setCommand的数组重载方法传入,示例:
    profile.setCommand(new String[]{"C:\\DIR\\TO\\APP\\JavaCalc.exe", "--arg1", "value1"});
    
  • 若配置后仍然无法连接,请确认打包exe时没有禁用JAVA_TOOL_OPTIONS环境变量的读取逻辑,主流Java exe打包工具默认均支持读取该环境变量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 07:24:18