栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Jboss启动报错:Unrecognized VM option ‘MaxPermSize=256m‘

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jboss启动报错:Unrecognized VM option ‘MaxPermSize=256m‘

Jboss启动报错:

Unrecognized VM option 'MaxPermSize=256m'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

翻译过来就是:

无法识别的VM选项“MaxPermSize=256m”

错误:无法创建Java虚拟机。

错误:发生致命异常。程序将退出。

意思是VM选项“MaxPermSize=256m”在当前虚拟机不可用,其实原因是:

在jdk8(含)以后,永久代被移除了,所以虚拟机的启动参数MaxPermSize(最大永久代大小)不可用。

我的Jboss配置的jdk是17,当然没有MaxPermSize选项,所以报这个错就很正常了。那么这个错误怎么解决呢?有两种方案:

1.jdk版本更换到8以前;

2.移除MaxPermSize这个虚拟机启动参数即可。

关于第一点,我们开始试验一下。

首先,下载jdk7,然后通过ftp工具上传到linux中:

 第二步,解压后的java-se-7u75-ri就是jdk7,打开看一下:

 第三步,配置jdk环境变量。

# 编辑profile文件,修改jdk环境变量为jdk1.7
vim /etc/profile

 保存退出,然后使用命令让文件立即生效:

# 使该文件立即生效
source /etc/profile

第四步,查看jdk版本:

 结果并没有什么卵用,这其实不应该的,除非配置错误了,但是配置的时候已经仔细检查过了,那可能就是需要重启ssh工具,我们重启之后再试。

 我们看到已经成功配置jdk为1.7,然后启动Jboss。

第五步,启动Jboss。

切换到Jboss的安装目录,然后到bin目录下,启动脚本standalone.sh。

 我们也看到了我们配置的jdk1.7的环境变量,以及Jboss的环境变量,还有一些虚拟机启动参数等信息。但是下面显示报错了:

 以上是全部报错信息,其实最重要的一句话是:

Caused by: java.io.FileNotFoundException: /opt/jboss/jboss-as-7.1.1.Final/standalone/log/boot.log (没有那个文件或目录)

 第六步,解决Jboss启动报错。

 切换到对应目录,发现确实没有log目录,当然也没有对应的boot.log文件,我们手动创建log文件夹以及boot.log文件,再启动试试。

 第七步,启动成功。

 第八步,测试是否启动成功。

打开另外一个窗口,然后测试:

curl http://127.0.0.1:8080

然后我们看到:





  Welcome to JBoss Application Server 7
  
  



  
    
      
    

    
      Welcome to AS 7

      Your JBoss Application Server 7 is running.

      

documentation | Quickstarts | Administration Console

JBoss AS Project | User Forum | Report an issue

To replace this page set "enable-welcome-root" to false in your server configuration and deploy your own war with / as its context path.

我们看到这其实就是一个HTML页面。

继续测试对应的端口,我们可以看我们说启动成功那个截图,上面监听了4447端口、9999端口、9990端口。

ss -an | grep 8080
ss -an | grep 9999
ss -an | grep 9990

 我们也可以使用命令:

curl -I 127.0.0.1:8080

来验证启动情况。

 上面几个红框,第一个是我们使用的命令;第二个是HTTP返回码,200表示ok;第三个是最后更新时间,显示的是2012年,也就是我们当前版本的Jboss最后更新时间;第四个,也就是最后一个是我们当前操作时间:2022年2月2日11:10:17,星期二,格林威治标准时间。其实这个时间是不准确的,或者说不是我们中国目前的北京时间,我们目前的时间是19:17分。如果是对应我们输入命令时的时间,应该对应的是19:10分。这样我们看到相差了8个小时,这个是Jboss默认的时区设置问题。上面我们说了,它显示的是格林威治标准时间,而格林威治标准时间比北京时间慢了8个小时,如果我们百度格林威治标准时间的话,显示如下:

关于时间的话我们就清楚了,回头设置Jboss的时区即可。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/727950.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号