Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
连接到REPL-Java.io.FileNotFoundException时发生Clojure/Java错误:找不到';clojure/core/server\uuuu init.class_Clojure_Read Eval Print Loop_Clojure Java Interop_Clojure Repl - Fatal编程技术网

连接到REPL-Java.io.FileNotFoundException时发生Clojure/Java错误:找不到';clojure/core/server\uuuu init.class

连接到REPL-Java.io.FileNotFoundException时发生Clojure/Java错误:找不到';clojure/core/server\uuuu init.class,clojure,read-eval-print-loop,clojure-java-interop,clojure-repl,Clojure,Read Eval Print Loop,Clojure Java Interop,Clojure Repl,我在Windows10上。 我成功地编译并运行了这个jar。 但当我试图从telnet连接到Socket REPL时,我收到了这个错误,telnet写入了由外部主机关闭的连接。 错误 Exception in thread "Clojure Connection mine 1" java.io.FileNotFoundException: Could not locate 'clojure/core/server__init.class or 'clojure/core/server.clj o

我在Windows10上。 我成功地编译并运行了这个jar。 但当我试图从telnet连接到Socket REPL时,我收到了这个错误,telnet写入了由外部主机关闭的
连接。

错误

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.
你能解释一下怎么了吗(

我像这样跑
java-cp.“\target\echo-1.0-SNAPSHOT.jar;C:\lib\ext\clojure-1.8.0.jar”com.echo.echo

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

啊!谢谢T
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() );
        }
    }

}