linux tomcat 500错误,Linux Tomcat错误

zeppelin..

8

更新

我已从您的错误消息解码ELF标头: ^?ELF^A^A^A^B^C^A

它是一组插入符号编码的控制字符,可以解码如下:

前4个字节是幻数,将文件标识为ELF可执行文件.

0x7f (^?) - ELFMAG0

0x45 (E) - ELFMAG1

0x4c (L) - ELFMAG2

0x46 (F) - ELFMAG3

接下来的3个字节指定体系结构,字节顺序和ELF格式版本:

0x01 (^A) - ELFCLASS32 (i.e. this is a 32 bit binary)

0x01 (^A) - ELFDATA2LSB (Little Endian)

0x01 (^A) - EI_VERSION (Version of ELF format EV_CURRENT/1)

所以基本上它是一个32位的 Java二进制文件.

然后,我已经下载了32位版本的JRE(jre1.8.0_121),并试图用破折号运行java,以确认我的shell问题理论(下面),它确实产生了完全相同的错误消息:

%dash ./java|&less

./java: 1: ./java: ^?ELF^A^A^A^B^C^A: not found

./java: 2: ./java: Syntax error: "(" unexpected

因此,最有可能的是,您在一台机器上使用32位版本的Java(与Tomcat捆绑在一起),该机器无法(或配置)运行32位可执行文件.然后shell问题(如下所述)掩盖了潜在的问题,这就是为什么你会得到这个奇怪的错误信息.

如果没有关于你的系统的更多细节,很难说更多,所以输出uname -a和cat /etc/lsb-release将是很好的.

...

我敢打赌,这可能是一个shell问题,即你/bin/sh指向像dash这样的东西,这可能会导致与catalina.sh脚本的一些兼容性问题,并使其解释bin/java为脚本,而不是在某些情况下将其作为可执行文件运行.

还有你的错误信息

/home/tomcat/jdk1.8.0_121/bin/java: 2: /home/tomcat/jdk1.8.0_121/bin/java: Syntax error: "(" unexpected

看起来非常喜欢它.

您可以查看您的/bin/sh要点,例如:

>ls -l /bin/sh

/bin/sh -> bash

如果它不是bash,那么修改/home/tomcat/apache-tomcat-8.5.11/bin/catalina.sh中的shebang行,如下所示:

#!/bin/bash

并查看它是否有帮助,或者至少产生更易读的错误消息.

如果bash失败cannot execute binary file,请检查您的java二进制文件是否已损坏并且可以在您的系统上执行,方法是手动运行:

/home/tomcat/jdk1.8.0_121/bin/java

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值