11
votes

Comment ajouter un annuaire à la classe de classe de Clojure?

J'ai installé les bibliothèques avec Maven au répertoire ~ / .m2 / référentiel / référentiel. Je voudrais ajouter ce chemin au parcours de clojure par défaut. Je ne pouvais pas trouver la documentation comment faire ça.

Toute astuce?

acclamations! xxx

Le chemin de la classe par défaut est: xxx


2 commentaires

Avez-vous un besoin convaincant de ne pas utiliser que Leiningen?


Merci gars, Lein m'a juste sauvé le mal de tête tout va bien.


4 Réponses :


10
votes

La méthode non douloureuse et populaire consiste à ne pas gâcher avec Maven et ClassPaths et le JRE directement et utilisez LE JRE et utilisez Leiningen: https://github.com/technomancy/leiningen/

Sinon, vous pouvez modifier tout ce qui est dans CLJ et ajoutez / définissez le point de classe de toutes les manières java goûts. Voir par exemple Régler plusieurs pots à Java ClassPath


1 commentaires

Pourriez-vous ajouter plus de détails s'il vous plaît? Telle que les options du projet de Leiningen.clj devraient être définies?



7
votes

Je suppose que CLJ est un script pour lancer Clojure Rep. Jetez un coup d'œil à ce script et trouvez une ligne similaire à celle-ci: xxx

ici, vous démarrez la classe clojure.main avoir "clojure.jar" sur votre path. Pour ajouter plus de pots, ajoutez-les à la fin des valeurs d'option -cp . Par exemple. sur Linux: xxx

(Utilisez ; au lieu de : sous Windows)

Toutefois, Très vite, vous enlevez de cette façon et rechercherez un outil de gestion de projet. Donc, il est logique de commencer à l'utiliser maintenant. Jetez un coup d'œil à Leiningen - il gère les dépendances pour vous basées sur Maven (donc ce sera donc Extrêmement facile d'ajouter un nouveau pot) et a repéré.


1 commentaires

L'utilisation de Java 6 et au-delà de /path/to/mylib.jar peut être modifiée par / chemin / à / jarfolder / * et il inclura tous les fichiers * .jar dans la classe de classe.



12
votes

Leiningen rend vraiment ce processus beaucoup moins douloureux en gardant le réglage de la classe de classe associée au projet, et plus important encore conduit à un processus de construction répétable . Où vous pouvez revenir aux années de projet plus tard et obtenez toujours une réplique. Un aperçu général de l'utilisation de Leiningen dans ces cas:

  • Lein nouveau nom de projet
  • ajoutez la bibliothèque dont vous avez besoin pour votre projet.Clj avec un nom que vous choisissez
  • Run Lein Deps Pour imprimer la commande à utiliser pour ajouter le pot à votre repo local
  • Ajouter le JAR
  • Exécutez à nouveau Lein Deps (vous pouvez ignorer cette étape si vous utilisez LEININGEN2)
  • Run Lein Replez
  • profiter

    Cela suppose que la bibliothèque que vous utilisez ne fait pas déjà partie de ou disponible dans un package dans un repo Maven, dont beaucoup sont.


0 commentaires

10
votes

Il convient de noter que vous avez également la possibilité d'ajouter des points de classe au moment de l'exécution avec la bibliothèque PomeGranate HTTPS: // github.com/cemerick/pomegranate

Cela vous permet de le faire: P>

 (require '[cemerick.pomegranate :as pom])
 (pom/add-classpath "/home/user/~.m2/....")


0 commentaires