今天在Mac系统上启动Java Web项目的时候,提示了 java . net . UnknownHostException : MAC-20150101 nodename nor servname provided类似的错误,然而同样的项目在windows的环境下是可以正常启动运行的。然后在网上找到了解决办法,虽然是英文的,但是根据说的做法,确实可以解决这个问题。现在将这个问题的解决办法分享给大家。

首先看下异常的提示信息:

java.net.UnknownHostException: MAC-20150101: MAC-20150101: nodename nor servname provided, or not known
at java.net.InetAddress.getLocalHost(InetAddress.java:1473)
at org.eclipse.rse.core.RSECorePlugin.getLocalMachineName(RSECorePlugin.java:265)
at org.eclipse.rse.core.RSEPreferencesManager.getDefaultPrivateSystemProfileName(RSEPreferencesManager.java:358)
at org.eclipse.rse.core.RSEPreferencesManager.initDefaults(RSEPreferencesManager.java:337)
at org.eclipse.rse.internal.core.RSEPreferenceInitializer.initializeDefaultPreferences(RSEPreferenceInitializer.java:23)
at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper$1.run(PreferenceServiceRegistryHelper.java:300)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
....
....
....
Caused by: java.net.UnknownHostException: MAC-20150101: nodename nor servname provided, or not known
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)
at java.net.InetAddress.getLocalHost(InetAddress.java:1469)
... 28 more

关于异常信息中的MAC-20150101这个东西,其实是我们的Mac系统的主机名称,有些代码里面可能需要根据主机名称来去本地的DNS里找对应的IP地址,由于本地的DNS配置中没有指定主机名这个IP地址是什么,也就会提示这个错误了。

解决办法非常的简单:

1、打开Mac系统上的终端,查看查看当前主机DNS的配置,输入命令cat /private/etc/hosts,如图所示:

2、,然后编辑主机配置,增加主机名的映射,输入命令sudo vi /private/etc/hosts,进入VI编辑器,增加如下的映射

127.0.0.1  MAC-20150101

退出保存即可。

3、最后,在终端中输入刷新的命令dscacheutil -flushcache

经过了三个步骤之后,启动Java Web项目的时候,就不会出现如下的错误信息。

之所以会出现这个错误,网上说是项目中有地方调用如下的代码:

InetAddress.getLocalHost().getCanonicalHostName(); 

说是这个方法会返回FQDN (Fully Qualified Domain Name),如果没有配置主机名,那么调用了这段代码会抛出异常信息,而这个方法依赖于底层的操作系统,Mac系统的配置和Windows有些不同!

参考资料:

资料1:http://crunchify.com/getting-java-net-unknownhostexception-nodename-nor-servname-provided-or-not-known-error-on-mac-os-x-update-your-privateetchosts-file/

Java Web项目在Mac系统上启动时提示nodename nor servname provided的解决办法相关推荐

  1. 使用JEECG框架项目在linux 系统下启动及运行缓慢的问题追踪和解决办法

    最近很多政府项目都在提倡国产化,因此需要将原有的项目移植到linux话环境中,我的一个项目在移植过程中就遇到了问题,该项目在windows环境中运行正常,启动速度一般在25-30秒内,但是移植到lin ...

  2. Java Web项目漏洞:检测到目标URL存在http host头攻击漏洞解决办法

    2019独角兽企业重金招聘Python工程师标准>>> 如果此博文很幸运的帮助到了您,请问我点个赞吧(✪ω✪)谢谢 1.问题漏洞描述 2.JSP头部中有如下代码,这样的使用方法就会被 ...

  3. Java web项目如何在服务器上跑起来(有源码)

    Java web项目如何在服务器上跑起来(有源码) 要用到的工具有:myeclipse.宝塔,navicat premium.xshell. 概述:本博文主要是帮助入门级新手怎么从网上下载一个java ...

  4. AMD机器:Android Studio启动模拟器提示“HAXM is not installed”的解决办法

    附:Android Studio启动模拟器提示"HAXM is not installed"的解决办法 1.首先,按住Ctrl+Alt+Delete,选择任务管理器,点击性能,查看 ...

  5. OpenCV Java入门一 在MAC系统上安装OpenCV

    OpenCV网上讲的一个都不对,要么卡死电脑,要么训练模型写死,要么都只是显示显示人脸就说入门了.没有一个从安装.使用.驱动摄像头.训练模型.辩别人脸的全过程.最夸张的是连怎么安装个OpenCV的资料 ...

  6. Win10系统电脑关机时提示“内存不能为read”的解决方法

    有时候,Win10系统电脑关机时提示"内存不能为read",大多win10系统中出现内存不能不为read多半是由于第三方软件还在后台运行,在关机会不能及时退出内存导致错误. 解决方 ...

  7. Android Studio启动模拟器提示“HAXM is not installed”的解决办法

    问题现象:Android Studio安装后启动模拟器时反复提示HAXM未安装,点击安装后还是提示未安装. 我的解决办法: 1.在Settings中找到SDK Tools,勾选Intel x86 em ...

  8. java host头攻击漏洞_Java Web项目漏洞:检测到目标URL存在http host头攻击漏洞解决办法...

    检测到目标URL存在http host头攻击漏洞 详细描述 为了方便的获得网站域名,开发人员一般依赖于HTTP Host header.例如,在php里用_SERVER["HTTP_HOST ...

  9. Java Web开发中,自定义过滤器被执行两次的原因分析及解决办法

    本文出处:http://blog.csdn.net/chaijunkun/article/details/7646338,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建议在 ...

最新文章

  1. 防止模型过拟合的必备方法!
  2. centos6.2安装五笔输入法
  3. 洛谷2015 二叉苹果树 树形DP
  4. ASP.NET Core分布式项目实战(课程介绍,MVP,瀑布与敏捷)--学习笔记
  5. IOS开发基础知识--碎片5
  6. mysql选错索引怎么解决_MySQL选错索引的原因以及解决方案
  7. 浅谈微博营销如何吸引流量
  8. 神奇的机器人评课_《机器人》教学反思
  9. 【软件工程】滨江学院 李振宏 软件工程 考点整理
  10. Python办公自动化(八)|使用Python转换PDF,Word/Excel/PPT/md/HTML都能转
  11. UNIX Linux网络日志分析与流量监控
  12. ORACLE 9 默认密码
  13. odb格式Linux,ODB格式文件 如何打开ODB文件 ODB是什么格式的文件 用什么打开 - The X 在线工具...
  14. 两端外伸梁内力计算机程序,外伸梁、不等跨连续梁的最大内力如何求解 ?
  15. 愿望实现了!办公软件全部装进口袋
  16. 中望cad文字显示问号怎么办_CAD文件打开后有很多问号怎么办
  17. groovy使用场景
  18. MySQL原理 - 字符集与排序规则
  19. 安卓逆向——修改APP的名称,图标和包名多开分身
  20. 把一个合数分成质数的乘积

热门文章

  1. 微信小程序日期选择器控件xxxx-xx-xx格式
  2. 抓包工具charles实践分享
  3. 为自己选一个网络硬盘
  4. 黄牛落泪!全球显卡价格纷纷跳水,高价囤货滞销
  5. linux检查网络是否通畅_linux下怎么检测网络的连通性
  6. ggalluvial | 冲击图/ 桑基图绘制
  7. WLT8016:BLE蓝牙的一些基本概念
  8. ftp上传工具 绿色,4个好用的绿色 ftp上传工具
  9. 求int所能表示的最大整数
  10. 八类网线和七类网线的区别_Cat8 八类网线是什么?与Cat5、Cat6、Cat7网线的区别?...