lein repl错误:连接被拒绝

时间:2014-03-01 13:01:05

标签: clojure leiningen

我在我的Ubuntu上安装了leiningen,但是当我运行lein repl时,它会抛出“Connection refused”错误。这是错误:

$ lein repl
Exception in thread "Thread-4" java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
    at java.net.Socket.connect(Socket.java:579)
    at java.net.Socket.connect(Socket.java:528)
    at java.net.Socket.<init>(Socket.java:425)
    at java.net.Socket.<init>(Socket.java:208)
    at clojure.tools.nrepl$connect.doInvoke(nrepl.clj:184)
    at clojure.lang.RestFn.invoke(RestFn.java:421)
    at clojure.tools.nrepl.ack$send_ack.invoke(ack.clj:47)
    at clojure.tools.nrepl.server$start_server.doInvoke(server.clj:146)
    at clojure.lang.RestFn.invoke(RestFn.java:619)
    at user$eval540.invoke(NO_SOURCE_FILE:0)
    at clojure.lang.Compiler.eval(Compiler.java:6619)
    at clojure.lang.Compiler.eval(Compiler.java:6609)
    at clojure.lang.Compiler.eval(Compiler.java:6582)
    at clojure.core$eval.invoke(core.clj:2852)
    at leiningen.core.eval$fn__3577.invoke(eval.clj:304)
    at clojure.lang.MultiFn.invoke(MultiFn.java:231)
    at leiningen.core.eval$eval_in_project.invoke(eval.clj:326)
    at clojure.lang.AFn.applyToHelper(AFn.java:167)
    at clojure.lang.AFn.applyTo(AFn.java:151)
    at clojure.core$apply.invoke(core.clj:619)
    at leiningen.repl$server$fn__7443.invoke(repl.clj:201)
    at clojure.lang.AFn.applyToHelper(AFn.java:159)
    at clojure.lang.AFn.applyTo(AFn.java:151)
    at clojure.core$apply.invoke(core.clj:617)
    at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1788)
    at clojure.lang.RestFn.invoke(RestFn.java:425)
    at clojure.lang.AFn.applyToHelper(AFn.java:163)
    at clojure.lang.RestFn.applyTo(RestFn.java:132)
    at clojure.core$apply.invoke(core.clj:621)
    at clojure.core$bound_fn_STAR_$fn__4102.doInvoke(core.clj:1810)
    at clojure.lang.RestFn.invoke(RestFn.java:397)
    at clojure.lang.AFn.run(AFn.java:24)
    at java.lang.Thread.run(Thread.java:722)

我在github看到了这样的问题:lein repl error,但它并没有解决我的问题。谁知道为什么?

环境

  • os:ubuntu 12.04
  • leningen:Leiningen 2.3.4
  • java:1.7.0_21

1 个答案:

答案 0 :(得分:6)

首先,你的堆栈跟踪缺少Caused by...原始异常。我没有遇到过它,但我能够重现它获得相同的堆栈跟踪j加上这些行

Caused by: java.net.UnknownHostException: i7mito: System error
        at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
        at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:894)
        at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1286)
        at java.net.InetAddress.getLocalHost(InetAddress.java:1462)
        ... 36 more

如果我从i7mito文件中删除了我的计算机名称(/etc/hosts/),我将其保留为

127.0.0.1 localhost

所以我的猜测是,lein依靠DNS将您的计算机名称(在我的情况下为i7mito)解析为IP地址。此名称解析的第一步是您的hosts文件,所以我先检查一下。我意识到绑定到localhost的IP并不重要,它是绑定到hostname命令结果的IP。重要的是。

因此,如果您确保您的计算机名称已映射到/ etc / hosts文件上的127.0.0.1,则它可能会起作用。如果它没有检查您的网络配置,因为它似乎与其他用户有关。

希望它有所帮助,当然,如果你在stacktrace上得到相同的额外行,这适用:)