您的位置:首页 > 运维架构

JBOSS调试启动报错 classic VM not supported; client VM will be used Unrecognized option: -

2016-07-22 16:59 471 查看
        今天想调试一段代码,像往常一样运行 jboss启动文件"run - debug.bat"(由run.bat备份重命名而得)。

没想到的是,没出现熟悉的监听等待界面,而出现了下图错误



很是纳闷,记得昨天还调试过(后面想想可能是我记错了,环境动过)。

开始我也被 classic VM not supported; client VM will be used 这句话诱惑了,网上一堆说“jdk 的问题” ,我不信,因为昨天还用的“好好的”。

看下启动脚本文件吧:

 

......
if "%OS%" == "Windows_NT" set PROGNAME=%~nx0%
......
set JAVA_OPTS=%JAVA_OPTS% -Dprogram.name=%PROGNAME%
......
set JAVA_OPTS=-classic -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y %JAVA_OPTS%
......


很简单的代码,值得注意的是PROGNAME的值“run - debug.bat”!到这里已经猜到答案了,我重命名脚本run - 副本.bat时,简单得将副本改成debug,而没有删除其中的空格,这个值在命令行里被解析错了。再回头看看第一张截图中的启动信息,vm属性乱套了。知道原因了很好解决问题了,重命名下调试启动脚本,改什么名都可以,只要没有空格。

 

至于昨天为什么调试没问题,我猜当时的文件名是run_debug.bat(习惯用下划线命名文件),呵呵,后来重做了应用系统,然后一个不留心导致今天的困惑。这次让我体会到有时候默守陈规不一定是坏事,习惯能帮我们避免麻烦,反而不按习惯出牌会出些意外的事情。当然我们也听到不按常理出牌说不定有意外收获。哈哈

 

 

first blog 20160722

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: