jar包启动失败 java Name or service not known解决方案

本人在生产环境中的一台机器使用了写好的jar包启动脚本发现启动不了jar包,然后自己使用java命令单独启动jar包,出现以下报错

root@aly-gz-web-1:/etc/init.d# java -Dfile.encoding=UTF-8 -Xmx2048M \
-Dcom.sun.management.jmxremote  \
-Dcom.sun.management.jmxremote.port=30113 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false  \
-jar /data/appdata/kjyl_1000020/kjly.jar

Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: aly-gz-web-1: aly-gz-web-1: Name or service not known

该报错的引起是因为服务器无法找到当前主机名对应的ip

然后我就去查看本机的/etc/hosts文件,发现hosts文件中该机器公网IP和该机器的主机名映射的有问题,然后将其修改为正常后,如下:

# 编辑/etc/hosts文件
vim /etc/hosts

# 有问题的
154.188.27.71 aly-gz-web-100

# 修改后(正确的主机名)
154.188.27.71 aly-gz-web-1

最后在执行jar包启动脚本,成功启动

root@aly-gz-web-1:/etc/init.d# /etc/init.d/kjyl_1000020 start
{"changed": true, "changes": "kjyl_1000020 start Success"}

猜你喜欢

转载自blog.51cto.com/12643266/2439828