помочь с запуском clojure, возможно, проблема с classpath - PullRequest
3 голосов
/ 16 сентября 2010
admin@apollo:~/clojure$ clojure
Clojure 1.0.0-
user=> (require 'clojure.contrib.str-utils)
java.io.FileNotFoundException: Could not locate clojure/contrib/str_utils__init.class or clojure/contrib/str_utils.clj on classpath:  (NO_SOURCE_FILE:0)
user=> 

Что я сделал не так при установке clojure?Почему я не могу найти мои классы Java?У меня установлена ​​Java.

admin@apollo:~/clojure$ sudo apt-get install sun-java6-jre sun-java6-jdk
sudo: unable to resolve host apollo
Reading package lists... Done
Building dependency tree       
Reading state information... Done
sun-java6-jre is already the newest version.
sun-java6-jdk is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded.


admin@apollo:~/clojure$ java -version
    java version "1.6.0_20"
    Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
    Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)
    admin@apollo:~/clojure$ 

, пожалуйста, помогите!спасибо!

Ответы [ 3 ]

6 голосов
/ 16 сентября 2010

Здорово научиться понимать это вручную, потому что понимание пути к классам делает мир лучше.На практике многие Clojurians используют leiningen, maven или торт.

Лично я бы рекомендовал использовать leiningen :

Есть много причин, чтобы не использовать автоматизированный инструмент, и эти вещи подходят не всем.За время, необходимое для того, чтобы настроить его, оно того стоит, даже для простых однострочников.

1 голос
/ 17 сентября 2010

Я использую maven для обработки всех зависимостей, и это работает.

Я написал пост блога здесь: http://learnclojure.blogspot.com/2010/08/clojure-emacs-swank-slime-maven-maven.html о том, как настроить рабочую настройку clojure / slime с нуля нановая машина.Это занимает около минуты.

В любом случае, если вам нужен только запущенный репл, вы можете:

Установить maven

Получить pom.xml изпост в блоге и поместите его в каталог.

В этом каталоге запустите $ mvn clojure: repl

Maven загрузит все, что вам нужно, и запустит repl, который должен быть jline-включен, так что на самом деле его можно использовать.

Я знаю, что это работает в Ubuntu, оно должно работать на всех других linux и mac osx.Кто-нибудь знает, работает ли он и в Windows?

Но если вы можете использовать emacs, комбинация clojure / emacs и slime непобедима.Дайте мне знать, если у вас возникнут проблемы.

1 голос
/ 16 сентября 2010

str utils - это то, что поставляется с clojure-contrib.Это не стандартная библиотека Java.Так что простая установка Java не поможет.Когда вы запускаете clojure, убедитесь, что jar clojure-contrib указан в classpath.Вы можете получить последнюю версию (1.2) clojure и clojure-contrib jar от clojure.org

Например, вот как я запускаю REPL

java -server -cp ~/clojure-1.2.0.jar:~clojure-contrib-1.2.0.jar:. clojure.main --repl
...