场景描述:
启动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,可行: