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

GlassFish无法启动求助:执行asadmin start-domain报-jar非法参数

解决GlassFish 4.1.2在Windows下执行asadmin start-domain报-jar: illegal argument的问题

我之前在Windows环境下用GlassFish 4.1.2的时候也碰到过一模一样的-jar: illegal argument错误,折腾了好一阵才解决,结合我的经验给你几个可行的排查方向:

  • 检查GlassFish安装路径是否有特殊字符
    很多Windows下的Java程序对路径里的空格、中文特别敏感,如果你把GlassFish装在了比如C:\Program Files\glassfish4这种带空格的路径里,很容易触发脚本解析错误。建议把整个GlassFish目录移到无空格、无特殊字符的路径下,比如C:\glassfish4,然后再尝试执行命令。

  • 验证asadmin.bat脚本的正确性
    打开GlassFish安装目录下bin文件夹里的asadmin.bat,找到调用Java的核心行,正常的写法应该是这样:

    "%JAVA_HOME%\bin\java" %AS_ADMIN_JAVA_ARGS% -jar "%~dp0..\modules\admin-cli.jar" %*
    

    仔细检查这一行有没有引号缺失、参数拼写错误,或者被意外添加了多余字符——我当时就是因为脚本里多了个莫名其妙的空格,导致-jar参数被识别成了非法参数。

  • 再次确认JAVA_HOME的配置有效性
    虽然你说已经配置了JAVA_HOME,但还是要再仔细核对:

    1. 在命令行输入echo %JAVA_HOME%,输出必须是JDK 8的根目录(比如C:\Java\jdk1.8.0_351),不能是JRE的路径;
    2. 输入java -version,确认输出的版本是JDK 8,避免系统里其他版本的Java干扰。
  • 尝试用完整路径执行命令
    有时候环境变量的优先级会出问题,你可以直接用完整路径调用asadmin.bat,比如:

    C:\glassfish4\bin\asadmin.bat start-domain
    

    跳过环境变量的影响,看是否能正常启动域。

  • 尝试创建新域测试
    如果上面的方法都没用,可能是默认的domain1配置文件损坏了。你可以尝试创建一个全新的域:

    C:\glassfish4\bin\asadmin.bat create-domain newdomain
    

    然后启动这个新域:

    C:\glassfish4\bin\asadmin.bat start-domain newdomain
    

    如果新域能正常启动,说明原域的配置有问题,你可以选择用新域,或者备份原域后重新初始化。

内容的提问来源于stack exchange,提问作者Riccardo Clemotte Canatta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:26:58