0

최근 lisp을 살펴본 후 Eclipse에서 시계 반대 방향으로 설치했습니다.
그런 다음 1.2 버전이 내장되어 있다는 사실에 싫증이 난다. 나는 수동으로 1.3 라이브러리를 링크했다. (솔직히별로 어렵지 않다.) ...
그런 다음마다 REPL 세션을 실행할 때마다 첫 번째 명령은 세션 자체에 아무런 영향을 미치지 않고 항상 많은 오류를 표시합니다. 동시에 모든 다음 명령은 정상적으로 작동합니다.첫 번째 명령에서 반 시계 방향 일식 오류

이것은 약간 사소하지만 귀찮은 문제입니다. 필자는 1.2 버전 (빌드 된 버전)을 사용하여 변경 한 내용을 역으로 테스트했지만 도움이되지 않았습니다.

여기에 Eclipse Console 출력의 긴 목록이 있습니다 (6 개가 더 있지만 일식은 작성하지 않았으므로 cmd의 내부를 시뮬레이트하려고 시도하지만 필요한 경우 알려주세요)

java.util.concurrent.ExecutionException: java.lang.NullPointerException 
    at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source) 
    at java.util.concurrent.FutureTask.get(Unknown Source) 
    at clojure.tools.nrepl$handle_response.invoke(nrepl.clj:265) 
    at clojure.tools.nrepl$message_dispatch$fn__181.invoke(nrepl.clj:305) 
    at clojure.lang.AFn.call(AFn.java:18) 
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.NullPointerException 
    at clojure.core$refer.doInvoke(core.clj:3775) 
    at clojure.lang.RestFn.applyTo(RestFn.java:139) 
    at clojure.core$apply.invoke(core.clj:602) 
    at clojure.core$load_lib.doInvoke(core.clj:5252) 
    at clojure.lang.RestFn.applyTo(RestFn.java:142) 
    at clojure.core$apply.invoke(core.clj:602) 
    at clojure.core$load_libs.doInvoke(core.clj:5271) 
    at clojure.lang.RestFn.applyTo(RestFn.java:137) 
    at clojure.core$apply.invoke(core.clj:604) 
    at clojure.core$use.doInvoke(core.clj:5363) 
    at clojure.lang.RestFn.invoke(RestFn.java:408) 
    at clojure.main$repl.doInvoke(main.clj:258) 
    at clojure.lang.RestFn.invoke(RestFn.java:1096) 
    at clojure.tools.nrepl$handle_request.invoke(nrepl.clj:240) 
    at clojure.lang.Var.invoke(Var.java:409) 
    at clojure.tools.nrepl$message_dispatch$fn__181$fn__184.invoke(nrepl.clj:302) 
    ... 6 more 

편집 :이이 네임 스페이스 파일의 아무것도 실제로 사용하지 않더라도

(ns Something) 

에 연결될 수있는 기회가있다.

답변

0

그것은 네임 스페이스 이름 문제처럼 보인다.

나는 시계 반대 방향으로 0.5.0.STABLE002에 쉽게 오류를 생성 할 수 1) 나는 마법사를 사용하여 새 프로젝트를 만들 : 파일 -> 새로 만들기 -> 프로젝트 ..-> Clojure의 프로젝트 2) 파일 코어를 만듭니다. src 폴더의 clj 3) 네임 스페이스 이름을 변경합니다.

core.clj 파일에 대해 REPL을 실행 한 후에도 동일한 예외가 발생합니다.

나는 하이픈이 포함 된 이름으로 lein으로 프로젝트를 만든 후이 문제를 발견 "-"

그때 패키지 이름은 밑줄로 만든 하이픈으로 프로젝트 이름을 사용하는 경우 "_". lein eclipse (: dev-dependencies [[lein-eclipse "1.0.0"]]) 프로젝트를 Eclipse에 제대로 가져올 수 있어야합니다. REPL은 완벽하게 작동합니다. 그러나 lein으로 프로젝트를 컴파일하는 것은 불가능합니다. 네임 스페이스 이름의 하이픈은 밑줄로 변경해야합니다. 변경 사항을 적용한 후에는 lein이 가능해졌지만 ccw의 REPL은 질문에서 나와있는 잘 설명되지 않은 예외를 생성하기 시작했습니다.

이 경험 후 내 충고는 프로젝트 이름에 하이픈이나 밑줄을 사용하지 않습니다.

관련 문제