jodis遇到的问题

1. Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper

java找jar包的网址 http://search.maven.org/

按照ArtifactId查询

2. SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
   SLF4J: Defaulting to no-operation (NOP) logger implementation
   SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

网上搜了一下下面是官方的解答http://www.slf4j.org/codes.html#StaticLoggerBinder

This error is reported when the org.slf4j.impl.StaticLoggerBinder class could not be loaded into memory. This happens when no appropriate SLF4J binding could be found on the class path. Placing one (and only one) of slf4j-nop.jar,slf4j-simple.jarslf4j-log4j12.jarslf4j-jdk14.jar or logback-classic.jar on the class path should solve the problem.

You can download SLF4J bindings from the project download page.

大意是org.slf4j.impl.StaticLoggerBinder 无法载入到内存,原因是没有找到合适的绑定SLF4J,需要添加所列举的包中的某一个。

解决方法如下:

下载slf4j-nop.jar,添加到路径中,就解决问题了

3. Caused by: java.net.UnknownHostException: bogon

   连接虚拟机连接不上,试了下主机和虚拟机之间能ping通,而且CentOs防火墙关闭了 还是提示该错误,在虚拟机里启动tomcat主机也访问不了,修改/etc/下 hosts文件,

  127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  127.0.0.1 bogon.localdomain bogon

  加上了最后一行,感觉bogon是java的应用的主机名,加上后重启主机可以访问tomcat了,但是报了

  Caused by: java.net.UnknownHostException: localhost.localdomain 错误

  从新看了下 执行hostname 命令得到的主机名是localhost.localdomain 在网上找了修改主机名的命令

     hostnamectl set-hostname localhost #修改成了localhost主机名

    网上有修改/etc/hosts文件和修改/etc/sysconfig/network文件的貌似都不好使

4. Caused by: java.net.ConnectException: Connection refused: connect

   java报错最上面是异常 下面有Caused by 看到异常先猜下啥问题,看第一个Caused by 有个报错 Connection.java:148 下面那个Caused by 最后                      是 Connection.java:142 下面的是引起错误的原因 其实找错误特别是导入的jar包里的错误 应该先把你导的jar包的源文件的jar也下载下来,然后用eclipse载入进来,这       样,查错更方便,不要瞎猜。

   然后找到出错的这段代码

public InetSocketAddress(String hostname, int port) {
        checkHost(hostname);
        InetAddress addr = null;
        String host = null;
        try {
            addr = InetAddress.getByName(hostname);
        } catch(UnknownHostException e) {
            host = hostname;
        }
        holder = new InetSocketAddressHolder(host, addr, checkPort(port));
    }

    可以看到 UnknownHostException 这是之前报的错误 这回报错的是 InetAddress.getByName(hostname),所以还是和hostname有关系 看了下自己的host文件

    

           

    咨询了下@韦爵爷 

    

    韦爵爷(1249314359) 15:59:15
 
    你要把 虚拟机的ip和hostname写到 hosts里 
      例如   192.168.11.11   hostname 
           你自己本地也叫localhost ,你原来那样整不就访问你的本地了么,根本访问不了 虚拟机
  修改成了这样
    

     

    韦爵 2015/5/8 16:21:23
    还有你自己Windows本地hosts也得加上这一行
    韦爵 2015/5/8 16:21:43
    要不他那知道weiguoyuan是什么 
       于是又修改了 C:WindowsSystem32driversetc 下的hosts文件 加上后面一行
          
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#    127.0.0.1       localhost
#    ::1             localhost

    192.168.253.128    weiguoyuan

    运行程序 终于搞定了

原文地址:https://www.cnblogs.com/weixiaole/p/4479414.html