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

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

[java] view plain copy
 在CODE上查看代码片派生到我的代码片

java.net.UnknownHostException: yangxiaomindeMacBook-Pro.local: yangxiaomindeMacBook-Pro.local: 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: yangxiaomindeMacBook-Pro.local: 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

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

解决办法非常的简单:

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

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

127.0.0.1  yangxiaomindeMacBook-Pro.local

退出保存即可。

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

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

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

[java] view plain copy
 在CODE上查看代码片派生到我的代码片

InetAddress.getLocalHost().getCanonicalHostName();

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

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

  1. Java Web项目在Mac系统上启动时提示nodename nor servname provided

    今天一不小心更新了Mac系统,然后在启动Java Web项目的时候,提示了java.net.UnknownHostException: MAC-mini-local nodename nor serv ...

  2. Selenium(基于JAVA语言)-》在eclipse上运行web项目在Mac系统上启动时提示nodename nor servname provided解决办法

    最近使用eclipse进行自动化测试时,遇到一种情况,无法调起浏览器,且有报错,如下: org.openqa.selenium.WebDriverException: failed to lookup ...

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

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

  4. 如何将Java Web项目部署到服务器上

    转自:(此处更详细)http://blog.csdn.net/gulu_gulu_jp/article/details/50994003 一.前言 前面我们已经尝过了在云服务器上部署代码的甜头了,现在 ...

  5. 全网最详细的IDEA、Eclipse和MyEclipse之间于Java web项目发布到Tomcat上运行成功的对比事宜【博主强烈推荐】【适合普通的还是Maven方式创建的】(图文详解)

    不多说,直接上干货! IDEA [适合公司业务]全网最详细的IDEA里如何正确新建[普通或者Maven]的Java web项目并发布到Tomcat上运行成功[博主强烈推荐](类似eclipse里同一个 ...

  6. 全网最详细的Eclipse和MyEclipse里对于Java web项目发布到Tomcat上运行成功的对比事宜【博主强烈推荐】【适合普通的还是Maven方式创建的】(图文详解)

    不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 全网最详细的MyEclipse里如何正确新建普通的Java web项目并发 ...

  7. 当java web项目部署到服务器上时,无法将图片等媒体文件保存到服务器的最终奥义

    今天,我在部署web项目至云服务器上(Tomcat8.0)时,突然发现我的应用,无法上传图片,视频等多媒体文件了,一再检查自己的代码逻辑没有问题之后,逐一排查,首先想到的就是看一下控制台打印的日志,日 ...

  8. java web项目在linux部署、启动,查看系统配置常用的linux命令总结

    本文为博主原创,未经允许不得转载: 以下为在工作中常用的linux命令进行了总结,主要在项目安装及启动,及编辑部署文件时应用较多1.gz文件是一种压缩文件. 以·tar.gz为扩展名的是一种压缩文件, ...

  9. Spring Web项目spring配置文件随服务器启动时自动加载

    前言:其实配置文件不随服务器启动时加载也是可以的,但是这样操作的话,每次获取相应对象,就会去读取一次配置文件,从而降低程序的效率,而Spring中已经为我们提供了监听器,可监听服务器是否启动,然后在启 ...

随机推荐

  1. 为什么并行测试很困难以及如何使用 ConTest 辅助测试

    众所周知并行程序设计易于产生 bug.更为严重的是,往往在开发过程的晚期当这些并行 bug 引起严重的损害时才能发现它们并且难于调试它们.即使彻底地对它们进行了调试,常规的单元测试实践也很可能遗漏并行 ...

  2. pyodbc简单使用

    1.连接数据库 1)直接连接数据库和创建一个游标(cursor) cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost;DATABAS ...

  3. 关于jquery登录的一些简单验证。

    获取值之后的判断 $(function () { $("#btlogin").click(function () { var txtaccount = $("#txtac ...

  4. ObservableCollection和List的区别总结

    一.继承的类和接口,还有它们的方法不同 1)ObservableCollection比较简单,继承了Collection, INotifyCollectionChanged, INotifyPrope ...

  5. DevExpress 柱状图

    通过构造函数,把值传递过来 public XtraInterpreterChartForm(object ds) { InitializeComponent(); datasource = ds; } ...

  6. 安装 ambaria

    hadoop安装 wget http://public-repo-1.hortonworks.com/ambari/centos6/1.x/updates/1.2.4.9/ambari.repo cp ...

  7. [nowCoder] 两个长度相同有序数组的中位数

    给定两个有序数组arr1和arr2,两个数组长度都为N,求两个数组中所有数的上中位数.例如:arr1 = {1,2,3,4};arr2 = {3,4,5,6};一共8个数则上中位数是第4个数,所以返回 ...

  8. Spring开发包介绍

    -----------------siwuxie095                         核心开发包         建立 Spring 工程时,需要引入 Spring 的开发包,否则无 ...

  9. 26、生鲜电商平台-RBAC系统权限的设计与架构

    说明:根据上面的需求描述以及对需求的分析,我们得知通常的一个中小型系统对于权限系统所需实现的功能以及非功能性的需求,在下面我们将根据需求从技术角度上分析实现的策略以及基于目前两种比较流行的权限设计思想 ...

  10. HTML5秘籍(第2版) 中文pdf扫描版

      HTML5秘籍(第2版)共包括四个部分,共13章.第一部分介绍了HTML5的发展历程,用语义元素构造网页,编写更有意义的标记,以及构建更好的Web表单.第二部分介绍了HTML5中的音频与视频.CS ...