GVKun编程网logo

未报告的异常UnknownHostException; 必须被抓住或宣布被抛出(未报告的异常错误)

14

想了解未报告的异常UnknownHostException;必须被抓住或宣布被抛出的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于未报告的异常错误的相关问题,此外,我们还将为您介绍关于and

想了解未报告的异常UnknownHostException; 必须被抓住或宣布被抛出的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于未报告的异常错误的相关问题,此外,我们还将为您介绍关于android 开发中问题:java.net.UnknownHostException、Docker上的java.net.UnknownHostException、Error attaching to remote server: java.rmi.UnknownHostException: Unknown host: 08f9; nested exception is: 、Eureka error "java.net.UnknownHostException:的新知识。

本文目录一览:

未报告的异常UnknownHostException; 必须被抓住或宣布被抛出(未报告的异常错误)

未报告的异常UnknownHostException; 必须被抓住或宣布被抛出(未报告的异常错误)

我有下面给出的代码。但是,当我尝试编译代码时,出现以下错误。

MyClient.java:12: error: unreported exception UnknownHostException; must be caught or declared to be thrown    InetAddress address = InetAddress.getByName("localhost");

我在代码中捕获了以上异常。我不知道为什么会这样。

import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.lang.ClassNotFoundException;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;public class MyClient {        public static void main(String[] args) {        InetAddress address = InetAddress.getByName("localhost");        int count = 0;        try {            /*             * Create a connection to the server socket on the server application             */            Socket socket = new Socket(address, 9090);            /*             * Read and display the response message sent by server application             */            ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());            System.out.println("Created client socket and Input Stream Reader");            while (true) {                if (count < 1000) {                    String message = (String) ois.readObject();                    System.out.println("OFMessage: " + message);                    count++;                } else {                    break;                }            }            ois.close();        } catch (UnknownHostException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        } catch (ClassNotFoundException e) {            e.printStackTrace();        } catch (Exception e) {            e.printStackTrace();        }    }}

答案1

小编典典
InetAddress address = InetAddress.getByName("localhost");

该语句在外部try{},将其放在try块中以有效地被catch块捕获

android 开发中问题:java.net.UnknownHostException

android 开发中问题:java.net.UnknownHostException

不管使用 org.apache.http.client.methods.HttpGet 还是 java.net.URL,访问网络的代码能找到很多,但是对于新手很大的可能就是碰到这个 “java.net.UnknownHostException”;

解决问题的过程是积累经验的过程:

先检查浏览器能否上网,模拟器中,或真机中;

 if   如果能,

 {    

 CAN:

     检查自己的代码能否上网,如果不能,就判断是自己代码问题;

     查 权限 android.permission.INTERNET;查 SDK...



 }  else  // 如果不能上网

 {    检查网络配置;

       直到能上网,goto CAN

}

    

Docker上的java.net.UnknownHostException

Docker上的java.net.UnknownHostException

如何解决Docker上的java.net.UnknownHostException?

通过切换到Oracle JRE 8并在Dockerfile中使用以下技巧,我设法摆脱了DNS问题:

RUN echo ''hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4'' >> /etc/nsswitch.conf

我在Docker Hub上创建了一个工作正常的Java 8 docker容器(代码在github上)。

解决方法

我正在尝试为ZooKeeper创建docker容器并在集群模式下对其进行配置(完整的代码在此处和此处)。

容器基于Alpine Linux(Docker Hub上为alpine:3.2),但是我要描述的问题也出现在官方Java容器(java:7)上。

我使用以下命令来启动集群:

docker run -d -h zk1 --name zk1 dockmob/zookeeper -s zk1,zk2,zk3
# wait some time ...
docker run -d -h zk2 --name zk2 dockmob/zookeeper -s zk1,zk3
docker run -d -h zk3 --name zk3 dockmob/zookeeper -s zk1,zk3

(它们在docker hub上可用,您可以尝试)。

如果我等待一段时间开始的第二和第三个容器,那么主机名之前zk2zk3放入/etc/hosts太晚(由码头工人)和Java是无法找到他们:我得到java.net.UnknownHostException在日志zk1两个zk2zk3

我在网上发现我需要禁用JVM DNS缓存才能刷新主机名,因此我在中引入了以下命令Dockerfile以更新java.security设置:

RUN grep ''^networkaddress.cache.ttl='' /usr/lib/jvm/java-1.7-openjdk/jre/lib/security/java.security || echo ''networkaddress.cache.ttl=10'' >> /usr/lib/jvm/java-1.7-openjdk/jre/lib/security/java.security

它将DNS TTL属性(networkaddress.cache.ttl)设置为10秒。

该变量networkaddress.cache.negative.ttl已设置为其默认值(10)。

行为不会改变。我java.net.UnknownHostException反复得到很多。

可能是什么原因造成的?

Error attaching to remote server: java.rmi.UnknownHostException: Unknown host: 08f9; nested exception is:

Error attaching to remote server: java.rmi.UnknownHostException: Unknown host: 08f9; nested exception is:

spring boot 2.x 版本 ,启动后 cpu 概率性使用率飙高,经常会到 300%。整个代码中没有用到 rmi ,jstack 分析如下:

 

[root@localhost ~]# jstack -l 08f9

Attaching to remote server 08f9, please wait...
Error attaching to remote server: java.rmi.UnknownHostException: Unknown host: 08f9; nested exception is: 
        java.net.UnknownHostException: 08f9
sun.jvm.hotspot.debugger.DebuggerException: java.rmi.UnknownHostException: Unknown host: 08f9; nested exception is: 
        java.net.UnknownHostException: 08f9
        at sun.jvm.hotspot.RMIHelper.lookup(RMIHelper.java:115)
        at sun.jvm.hotspot.HotSpotAgent.connectRemoteDebugger(HotSpotAgent.java:517)
        at sun.jvm.hotspot.HotSpotAgent.setupDebugger(HotSpotAgent.java:374)
        at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:304)
        at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:183)
        at sun.jvm.hotspot.tools.Tool.start(Tool.java:196)
        at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
        at sun.jvm.hotspot.tools.JStack.main(JStack.java:92)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at sun.tools.jstack.JStack.runJStackTool(JStack.java:140)
        at sun.tools.jstack.JStack.main(JStack.java:106)
Caused by: java.rmi.UnknownHostException: Unknown host: 08f9; nested exception is: 
        java.net.UnknownHostException: 08f9
        at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:616)
        at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
        at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
        at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:342)
        at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
        at java.rmi.Naming.lookup(Naming.java:101)
        at sun.jvm.hotspot.RMIHelper.lookup(RMIHelper.java:113)
        ... 13 more
Caused by: java.net.UnknownHostException: 08f9
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at java.net.Socket.connect(Socket.java:538)
        at java.net.Socket.<init>(Socket.java:434)
        at java.net.Socket.<init>(Socket.java:211)
        at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
        at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:148)
        at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
        ... 19 more

 

Eureka error

Eureka error "java.net.UnknownHostException:

 spring cloud 中 zuul 智能路由,本地部署没有问题,部署到服务器就报 com.netflix.zuul.exception.ZuulException: Forwarding error

项目中用到 spring cloud+docker, 各个组件本地部署没有,一部署在服务器就出现问题,报如下的错误

com.netflix.zuul.exception.ZuulException: Forwarding error 

    at org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.handleException(RibbonRoutingFilter.java:189) ~[spring-cloud-netflix-zuul-2.0.0.RC1.jar!/:2.0.0.RC1]
    at org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.forward(RibbonRoutingFilter.java:164) ~[spring-cloud-netflix-zuul-2.0.0.RC1.jar!/:2.0.0.RC1]
    at org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.run(RibbonRoutingFilter.java:112) ~[spring-cloud-netflix-zuul-2.0.0.RC1.jar!/:2.0.0.RC1]
    at com.netflix.zuul.ZuulFilter.runFilter(ZuulFilter.java:117) ~[zuul-core-1.3.1.jar!/:1.3.1]
    at com.netflix.zuul.FilterProcessor.processZuulFilter(FilterProcessor.java:193) ~[zuul-core-1.3.1.jar!/:1.3.1]
    at com.netflix.zuul.FilterProcessor.runFilters(FilterProcessor.java:157) ~[zuul-core-1.3.1.jar!/:1.3.1]
    at com.netflix.zuul.FilterProcessor.route(FilterProcessor.java:118) ~[zuul-core-1.3.1.jar!/:1.3.1]
    at com.netflix.zuul.ZuulRunner.route(ZuulRunner.java:96) ~[zuul-core-1.3.1.jar!/:1.3.1]
    at com.netflix.zuul.http.ZuulServlet.route(ZuulServlet.java:116) ~[zuul-core-1.3.1.jar!/:1.3.1]
    at com.netflix.zuul.http.ZuulServlet.service(ZuulServlet.java:81) ~[zuul-core-1.3.1.jar!/:1.3.1]

 

从网上找各种资源都没找到,包括找 springcloud 开源社区发帖

 

关键在于 -----

在配置文件加入

eureka:
  client:
    serviceUrl:
      defaultZone: http://XXX:8080/eureka/
#这里才是关键
    fetch-registry: true
    register-with-eureka: true

 

 

#服务注册中心实例的主机名

eureka.instance.hostname=localhost

#是否向服务注册中心注册自己

eureka.client.register-with-eureka=true

#是否检索服务

eureka.client.fetch-registry=true

 

今天关于未报告的异常UnknownHostException; 必须被抓住或宣布被抛出未报告的异常错误的介绍到此结束,谢谢您的阅读,有关android 开发中问题:java.net.UnknownHostException、Docker上的java.net.UnknownHostException、Error attaching to remote server: java.rmi.UnknownHostException: Unknown host: 08f9; nested exception is: 、Eureka error "java.net.UnknownHostException:等更多相关知识的信息可以在本站进行查询。

本文标签: