场景描述:
启动JBOSS报如下错误:
Exception in thread “main” java.lang.ClassFormateError:org.jboss.modules.Main...

1.前提:
使用root用户上传的JBOSS,现在root用户禁止直连ssh,只能用admin用户启动(可以su – root 但毕竟很多在fpx上很多只能用admin连接,root启动后,很多jboss配置文件的无权限覆盖,还要去转属组,比较麻烦);
2. 分析:
但改变了jboss启动需要的文件夹属组后依然如上,开始想是不是JDK的问题,通过在admin用户下执行env和java验证了这个想法
3.处理:
vi /home/admin/.bash_profile
在PATH后加上JDK路径:
PATH = $PATH:usr/java/jdk1.7.0_55/bin
保存退出
source /home/admin/.bash_profile
启动jboss仍然报错;
4.分析:
再次执行java,发现报如下错误:
网上搜索相应代码得到以下回复:
|
原来是linux完全安装后会有一个开源的jvm 也就是gij,jdk1.6.0_29放得太靠后,path先在/usr/bin...这些地方找到了gij的java指令。把/usr/java/jdk1.6.0_29/bin放到path的前面就好了,在/etc/profile文件中修改一下就好了.如 PATH=/usr/java/jdk1.6.0_29/bin:$PATH
参照:http://wanglu271991027.iteye.com/blog/1305807 |
做相应调整:
PATH = usr/java/jdk1.7.0_55/bin:$PATH
source /home/admin/.bash_profile
执行java,可行:

启动jboss,可行:

本文解决了使用admin用户启动JBOSS时遇到的ClassFormatError问题。通过调整JAVA_HOME环境变量,确保正确版本的JDK被加载,最终成功启动了JBOSS。
1072

被折叠的 条评论
为什么被折叠?



