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

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

[email protected]:/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包启动脚本,成功启动

[email protected]:/etc/init.d# /etc/init.d/kjyl_1000020 start
{"changed": true, "changes": "kjyl_1000020 start Success"}

原文地址:https://blog.51cto.com/12643266/2439828

时间: 2024-10-11 20:13:47

jar包启动失败 java Name or service not known解决方案的相关文章

通用jar包启动脚本

通用jar包启动脚本 使用方法: 把本脚本和jar包放置在同一目录,并保证该目录下只有一个jar包.jar包的输出文件名为"nohup.当前目录名" 运行jar包: 脚本名后跟start|stop|restart|status即可 脚本内容: #!/bin/bash ####################### #脚本使用方法: #本脚本和jar包在同一目录下,保证当前目录有且只有一个jar包即可.无需修改任何东西. # Usage: $0 {start|stop|status|re

【转】Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)

原文网址:http://www.blogjava.net/anchor110/articles/355699.html 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来.2.将引用的第三方包,添加进工作的build path.3.(关键的一步)将lib设为源文件夹.如果不设置,则程序编译可以通过,但运行的时候,会报: java.lang.NoClassDefFoundError # re: Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundErro

Ops:jar包启动关闭脚本

目录 简介 环境介绍 start.sh启动脚本 stop.sh关闭脚本 参考文档 简介 公司开发架构为java语言的rpc dubbo架构,将功能分解为各个模块,模块较多,发布到环境上的应用为编译后的jar包和配置文件,以及启动关闭jar包的shell脚本.之前经常会出现进程启动不了,或程序启动了多个的情况,此次,做了优化,结构比较严谨,代码量少,就不放到github上了,在这里做个分享,希望对你有用. 环境介绍 此脚步使用场景需要标准化环境的要求,所有jar皆可使用该脚本使用,通用性良好. j

Centos7.2从github拉代码以jar包启动

1,新建一个job 2,配置git下载地址 3,配置build后执行的脚本 4,脚本执行过程会报没有权限,因为jenkins默认用户是jenkins,改成root vi /etc/sysconfig/jenkins 5,脚本如下: echo "脚本开始执行"path=$1cd $pathfilename=$(ls *jar)echo $filenameecho "杀死原来的进程开始"pid=`ps -ef | grep $filename | grep -v gre

eclipse生成【带有外部jar包】的java可执行jar包

之前有写过一篇使用eclipse生成java可执行jar包,但是最近的一次使用中无论如何都不成功,当双击执行打成的jar时,弹出如下错误: could not find the main class:mailTest.SendMailTest1.Program wil exit 针对这一问题,我首先想到在上一次编写java聊天小程序打包时的问题,也是这个错误,当时网上说需要更改eclipse中该项目的jdk版本为1.6,如图: 虽然意料之中,但是依旧有些遗憾的是,这样修改后生成的jar包,在双击

使用Java命令行方式导入第三方jar包来运行Java程序的命令

1.首先使用命令行进入到a.java所在的文件夹:(比如我的在D:\javaeeworkspace\SharedPS_WS\src\com\dyf\main 这样一个路径下,) d: 回车, cd D:\javaeeworkspace\SharedPS_WS\src\com\dyf\main 回车, 2.使用javac命令运行a.java源文件,运行时需要使用到第三方jar包时,使用 –classpath参数来指定jar包所在路径: 比如我的cxf框架的jar包在 C:\D\Java\cxf\a

Spring Boot(2):通过jar包启动

我们通过创建一个可以在Production env中运行的完全自包含的可执行jar文件来完成我们的示例.可执行jar(有时也称为"fat jars")是包含您编译的类以及您的代码需要运行的所有jar依赖项的归档文件. 本例是在 Spring Boot(1):Guide 的基础上继续写的. (1) 在Maven中添加以下依赖: 1 <!-- 可以打成可运行的jar包 --> 2 <build> 3 <plugins> 4 <plugin>

缺jar包异常:java.lang.NoClassDefFoundError: org/springframework/core/convert/support/PropertyTypeDescriptor

严重: StandardWrapper.Throwable java.lang.NoClassDefFoundError: org/springframework/core/convert/support/PropertyTypeDescriptor at org.springframework.beans.PropertyAccessorFactory.forBeanPropertyAccess(PropertyAccessorFactory.java:37) at org.springfra

使用assembly打出的独立可执行jar包启动时报错spring错误的解决方法

项目开发使用dubbo,想把服务打成可执行jar包,并将所有的依赖也打包到这个jar文件中,工程依赖使用了spring等,在使用maven的assembly打包成独立可执行的jar包后,在执行时报如下错误:Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace      网上对这个问题也有提及,这是assembly的一个bug.参见:http://jira.codehaus.