You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Anylogic独立Java应用运行报错求助:无法创建Java虚拟机及illegal access: deny问题

解决Anylogic导出Java程序在Windows 7运行的报错及替代运行方案

针对你遇到的“无法创建Java虚拟机”和“illegal access: deny”报错,我整理了具体的解决步骤,同时也提供几种无需安装Anylogic的模型运行方法:

一、解决Windows 7下.bat运行报错的步骤

1. 确认Java版本兼容性

Windows 7仅支持到Java 8(Oracle JDK 8u292及更早版本,或OpenJDK 8的对应发行版),Java 9及以上版本已经停止对Win7的支持。如果目标机器上装了更高版本的Java,会直接导致兼容性问题:

  • 卸载高版本Java,安装Java 8(注意选择对应系统的32/64位版本)
  • 确保JAVA_HOME环境变量指向Java 8的安装目录,或者在.bat文件里直接指定Java的绝对路径

2. 修改.bat文件的JVM参数

报错里的“illegal access: deny”是因为Anylogic导出的bat可能包含Java 9+才支持的参数(比如--illegal-access=deny),而Java 8无法识别这些参数。同时内存参数过大也会导致“无法创建Java虚拟机”的问题。具体修改方法:

  • 右键编辑你的模型.bat文件
  • 找到调用Java的行,比如:
    java -Xmx4096m --illegal-access=deny -jar YourModel.jar
    
  • 做以下调整:
    • 移除--illegal-access=deny这类Java 8不支持的参数
    • 调整内存参数-Xmx:32位Win7建议设为-Xmx1024m,64位Win7根据系统可用内存调整(比如-Xmx2048m,不要超过系统剩余内存的一半)
    • (可选)直接指定Java 8的绝对路径,避免系统调用错误的Java版本,修改后类似:
      @echo off
      set "JAVA_PATH=C:\Program Files\Java\jdk1.8.0_292\bin\java.exe"
      "%JAVA_PATH%" -Xmx1024m -jar YourModel.jar
      pause
      
  • 保存后重新运行bat,应该就能正常启动了

二、无需安装Anylogic的其他模型运行方法

除了修改bat的方式,还有几种更便捷的方案:

1. 上传到Anylogic Cloud运行

把你的模型上传到Anylogic Cloud平台(需要Anylogic账号),生成共享链接后,用户可以直接在浏览器里运行模型,不需要安装任何软件,也不用关心Java版本问题。适合需要多人访问或跨平台使用的场景。

2. 导出为HTML5/WebGL应用

如果你的Anylogic版本是Professional或Enterprise,可以将模型导出为HTML5应用。导出后生成一个网页文件夹,用户直接用浏览器打开index.html就能运行模型,完全不需要Java环境。注意:部分复杂的模型功能(比如数据库连接)可能无法在Web环境中正常工作。

3. 打包成独立EXE文件

用工具比如Launch4j把Java程序打包成Windows EXE文件,同时可以把Java 8的JRE打包进去。用户双击EXE就能运行,不需要手动操作bat,也不用自己安装Java。步骤大概是:

  • 下载Launch4j,配置好Java路径、jar文件路径、输出EXE路径
  • 选择“捆绑JRE”,把Java 8的JRE文件夹打包到EXE所在目录,确保用户无需额外安装Java

4. 打包成Docker容器

如果目标机器支持Docker,可以把模型和兼容的Java 8环境打包成Docker镜像。运行时只需要启动容器即可,完全隔离系统环境,避免版本冲突。适合有一定技术基础的用户或服务器部署场景。

内容的提问来源于stack exchange,提问作者Mohammad Hasan N.

火山引擎 最新活动