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

AnyLogic使用executeExpression()出现JVM兼容错误求助

解决AnyLogic 8.8.1中executeExpression()触发的JVM版本兼容提示错误

问题场景

  • 使用AnyLogic 8 Professional 8.8.1版本,调用executeExpression()执行字符串形式的代码时,控制台弹出如下错误提示:

Annotation processing got disabled, since it requires a 1.6 compliant JVM

  • 系统全局Java版本为19.0.1,执行java -version输出:
java version "19.0.1" 2022-10-18
Java(TM) SE Runtime Environment (build 19.0.1+10-21)
Java HotSpot(TM) 64-Bit Server VM (build 19.0.1+10-21, mixed mode, sharing)
  • 该提示不会终止仿真,executeExpression()仍可正常运行,但需要消除这个无关的错误提示。

解决方案

1. 切换到AnyLogic内置JDK

AnyLogic自带了适配版本的JDK,优先使用内置版本可避免版本兼容问题:

  • 打开AnyLogic,点击顶部菜单栏File → Preferences(Windows/Linux)或AnyLogic → Settings(Mac)
  • 在设置窗口中找到Java选项卡
  • 勾选Use the embedded JDK,点击Apply后重启AnyLogic

2. 指定兼容的外部JDK版本

若需要使用外部JDK,建议选择AnyLogic 8.8.1官方推荐的Java 8或Java 11(这两个版本对注解处理逻辑的兼容性更好):

  • 下载并安装64位的Java 8或Java 11
  • 在AnyLogic的Java设置选项卡中,选择Use custom JDK,浏览到安装的Java目录,点击Apply后重启软件

3. 优化executeExpression()的使用逻辑(可选)

如果不想更换JDK,可尝试调整代码避免触发注解处理:

  • 避免在executeExpression()的字符串代码中使用涉及自定义注解的语法
  • 将复杂逻辑提前封装为AnyLogic的函数或Agent方法,直接调用方法而非通过字符串执行代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 06:05:23