【问题标题】:Clojure/Java error when connecting to REPL - java.io.FileNotFoundException: Could not locate 'clojure/core/server__init.class连接到 REPL 时出现 Clojure/Java 错误 - java.io.FileNotFoundException:找不到 'clojure/core/server__init.class
【发布时间】:2019-01-17 14:59:56
【问题描述】:

我使用的是 Windows 10。 我成功编译并运行了这个jar。 但是当我尝试从 telnet 连接到 Socket REPL 时,我收到了这个错误,并且 telnet 写了Connection closed by foreign host.

错误

Exception in thread "Clojure Connection mine 1" java.io.FileNotFoundException: Could not locate 'clojure/core/server__init.class or 'clojure/core/server.clj on classpath.

你能解释一下有什么问题吗? :(

package com.echo;

import clojure.java.api.Clojure;
import clojure.lang.IFn;
import clojure.lang.RT;
import clojure.lang.Var;
import clojure.lang.Symbol;

public class Echo {
public static void main(String[] args) {


    try {
        IFn plus = Clojure.var("clojure.core", "+");

        System.out.println( plus.invoke(1, 2).getClass().getSimpleName() );

        IFn require = Clojure.var("clojure.core", "require");
        require.invoke(Clojure.read("clojure.core.server"));

        IFn startServer = Clojure.var("clojure.core.server","start-server");
        //Object options = Clojure.read("\"{:port 4555 :accept 'clojure.core.server/repl :name :repl2 :server-daemon false}\"");

        startServer.invoke(
            Clojure.read("{:port 4555 :accept 'clojure.core.server/repl :name mine :server-daemon false}")
        );

        System.out.println( "Started" );


    }
    catch(Exception e)
        {
            System.out.println(  e.getMessage() );
        }
    }

}

我是这样跑的 java -cp ".\target\echo-1.0-SNAPSHOT.jar;C:\lib\ext\clojure-1.8.0.jar" com.echo.Echo

【问题讨论】:

    标签: clojure read-eval-print-loop clojure-java-interop clojure-repl


    【解决方案1】:

    不应引用从字符串中读取的符号:使用clojure.core.server/repl 而不是'clojure.core.server/repl。引用用于防止评估;但由于您没有进行评估,这只会导致在它不属于的地方抛出一个额外的引号。

    【讨论】:

    • 啊!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多