Tôi đã cố gắng để biên dịch một test.clj rất đơn giản trong Clojure mà không thành công. Tôi có một số thread trên số Clojure Google Group với một số câu trả lời nhưng không có gì hữu ích. Để tóm tắt nhanh, đây là tệp clojure của tôi:Vấn đề biên dịch trong Clojure
(ns test.test
(:gen-class))
(defn -main
[gre]
(println (str "Hello " gre)))
Về cơ bản, đó là tệp mẫu được cung cấp trong Clojure documentation.
Tôi đã đặt tệp này một cách thích hợp trong clojure/src/test/test.clj
và có thể biên dịch với (compile 'test.test)
, nhưng tôi vẫn gặp lỗi:
java.io.IOException: The system cannot find the path specified (test.clj:1)dẫn tôi tin rằng đó là sự cố classpath. Tôi đã thử chạy Clojure với tất cả các lệnh tiêu chuẩn được đưa ra trong Clojure documenation cũng như đề xuất mới nhất từ chuỗi
java -classpath .;src;classes;clojure.jar clojure.main
.
Nếu nó giúp, hệ thống tập tin của tôi trông như thế này:
-+-clojure
+-classes/
+-+-src/
| |-+-test/
| | \-test.clj
+-\-test.clj
+-test.clj
+-clojure.jar
T.B. Tôi đang chạy trên Vista Ultimate vì vậy nó có thể có thể là một vấn đề quyền, nhưng tôi đã kiểm tra các điều khoản và không thể tìm thấy bất cứ điều gì sai trái với họ.
xuất sắc! Thank-yee rất nhiều, nó hoạt động như một sự quyến rũ! Ngoài ra, tôi sẽ chỉnh sửa câu hỏi bởi vì tôi gần như paren chỉ được cắt từ bản sao/dán tôi đã làm. – Mike
HI Tôi nhận được cùng một vấn đề. Điều gì có thể sai? Tôi đã thử giải pháp của bạn: C: \ clojure> java -cp clojure-1.0.0.jar;. \ Src;. \ Classes clojure.lang.Repl user => (biên dịch 'test.test) java.io .IOException: Hệ thống không thể tìm thấy đường dẫn được chỉ định (test.clj: 1) – unj2
Điều này có nghĩa là bạn không có các lớp/thư mục trong CLASSPATH của bạn. –