سؤال
لسبب ما لا أستطيع الحصول على كلوجور ريبل العمل مع جلين ، ما فعلته كان جيت استنساخ مستودع كلوجور قبالة جيثب ثم تشغيل النمل لبنائه ، ثم تحميل جلين-0.9.94.جرة إلى الدليل مع كلوجور.جرة ، ثم قم بتشغيل الأمر التالي:
java -cp jline-0.9.94.jar:clojure.jar jline.ConsoleRunner clojure.main
والحصول على الأخطاء التالية:
Exception in thread "main" java.lang.ClassNotFoundException: clojure.main
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at jline.ConsoleRunner.main(Unknown Source)
وهنا الملفات في بلدي الدليل الحالي:
vvshs-macbook-2:clojure vvsh$ ls
build.xml clojure-sources-1.2.0-master-SNAPSHOT.jar epl-v10.html src
classes clojure-sources.jar jline-0.9.94.jar test
clojure-1.2.0-master-SNAPSHOT.jar clojure.iml pom-template.xml
clojure-slim-1.2.0-master-SNAPSHOT.jar clojure.jar pom.xml
clojure-slim.jar doc readme.txt
vvshs-macbook-2:clojure vvsh$
حصلت على نفس الخطأ على كلوجور 1.1 و لين ريبل (يبدو لين الحفاظ على نسختها الخاصة من كلوجور).
بالمناسبة ، هذا على ماك أوكس 10.5.8
java version "1.5.0_24"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_24-b02-357-9M3165)
Java HotSpot(TM) Client VM (build 1.5.0_24-149, mixed mode, sharing)
أي شخص يعرف ما هو الخطأ وكيفية إصلاحه?كما أريد حقا للحصول على لين ريبل العمل لبدء المشروع.
المحلول
لقد حلت نفس المشكلة اليوم عن طريق إزالة زائدة عن الحاجة jline*.jar
من عند /Library/Java/Extensions
, ، وترك تركيب جلين واحد فقط في CLASSPATH
.
شرح أطول: كنت أحاول بناء لابريبل, ، الذي يقوم بتثبيت جميع تبعياته في دليل فرعي lib
, ولكن كنت قد وضعت سابقا جلين عن طريق نسخ .ملف جرة ل /Library/Java/Extensions
. على ما يبدو, java.lang.ClassLoader
لا يمكن التعامل مع اثنين من المنشآت من جلين ، وطالما كانت هناك تلك المتاحة في مكانين ، سطر الأوامر بدء كلوجور ريبل سوف تفشل في العثور على الأخير واحد من الطبقات jline.ConsoleRunner
و clojure.main
, ، اعتمادا على الترتيب الذي تم إعطاؤه لـ java
الأمر.
آمل أن يساعد هذا.
نصائح أخرى
انظر بلدي تعليمات بديلة لتثبيت على بلدي شوكة:
http://github.com/jedschneider/leiningen
لقد أرسلت طلب سحب لتحديث الملف التمهيدي ، لكنني لم أحصل على رد عليه.بمجرد تثبيت لين ، يمكنك وضع bin/leiningen.sh في الخاص بك ~ / بن والذي يطلق عليه في أي مكان.أنا وضعت اختصار على بلدي .باش_الملف الشخصي
alias lein="~/bin/leiningen.sh"
ثم اتصل lein repl
لإطلاق قذيفة
أيضا الخروج لابريبل الذي هو أداة تعليمية كبيرة.
الخاص بك java ...
يبدو الأمر جيدا، وسأتحقق مرة أخرى مما إذا كانت جميع الجرار في المكان الذي تعتقد أنه يجب أن تكون فيه (وأنهم كذلك ال الجرار التي تعتقد أنها كذلك ، أي. clojure.jar
هو في الواقع واحد كنت بنيت محليا وليس بعض فائقة عفا عليها الزمن واحد).
إذا كنت ترغب في استخدام لينينجن ل lein repl
, ، هذا ممكن أيضا.لاحظ أنه ليس من الدقيق القول أنه "يحافظ على نسخته الخاصة من كلوجور";لينينجن هو أداة البناء ، وتستخدم كجزء من سير العمل الموجهة نحو المشروع ، والجرار كلوجور منفصلة هي محددة للمشروع.لإنشاء مشروع عينة للعب حولها في ، ويقول lein new foo
مكان مناسب.ثم ستحتاج إلى cd foo
, ، احصل على برطمانات كلوجور ومساهمة بها lein deps
(ال project.clj
هيكل عظمي المقدمة من قبل lein new
يحتوي بالفعل على إدخالات لكليهما) وابدأ في التكرار باستخدام lein repl
.
أخيرا ، يمكنك استخدام الجديد cljr
المشروع;أنه يحتوي على التمهيدي الشامل الذي يجب أن تحصل بدأت في أي وقت من الأوقات ، ومعها عليك أن تكون قادرا على القول cljr repl
للحصول على كلوجور ريبل في أي مكان ، دون الحاجة إلى إنشاء "مشروع".
قابلت نفس المشكلة.يبدو jline.consolerunner (على الأقل حول JLE-0.9.5 التي أستخدمها) لا يمكن أن تكون قادرا على العثور على ملفات فئة في المسار المضافة إلى مسارات البحث الفئة من خيار "جافا".وهذا يعني أنه لا يمكن العثور على فئات في الدليل الحالي الخاص بك.لقد قمت بحل هذا عن طريق نسخ Clojure.main تحت / مكتبة / Java / Extensions / TOO.