Je reçois des erreurs compatibles lors de l'exécution ci-dessous sont deux erreurs distinctes que je reçois. Je ne sais pas ce qui déclenche une erreur. Tous mes fichiers (dans l'espace de noms "Benekastah") signalent une erreur à la ligne 1, qui est typiquement un appel normal La deuxième erreur semble indiquer que le problème est Dans Post_Modify.clj, mais cela travaillait avant et je ne l'ai pas changé. P> J'ai essayé la solution trouvée ici et il n'a pas semblé fonctionner. p> Tout aperçu de ces erreurs déroutantes? p> Erreur 1: P> Lein Run Code> sur mon Noir Projet. Cela fonctionnait, puis soudain, cela a cessé de fonctionner. Ma suspicion était que l'erreur est liée à essayer d'inclure [org.pegdown / piquetdown "1.1.0"] code> dans mon vecteur de dépendances dans le fichier de projet, mais je ne sais pas avec certitude. J'ai supprimé cette ligne, couru Lein propre; Lein Deps code> puis essayé Lein exécuter code> à nouveau, mais l'erreur persiste. NS code>. P> (ns benekastah.views.blog.post-modify
(:require [noir.response :as resp]
[somnium.congomongo :as congo]
[clj-time.core :as time]
[clj-time.format :as time-format]
[clj-time.coerce :as time-coerce]
[clojure.string :as cl-string]
[benekastah.lib.string :as b-string])
(:use noir.core
benekastah.models.db))
(defn- save-post
[post]
(try (save! :post post)
(resp/redirect "/")
(catch Exception e
{:status 500
:body (str "Could not save post: " e)})))
(defpage [:post "/post"] [& param-lists]
(let [params (populate-defaults
:post
(apply hash-map (apply concat param-lists)))
{date :date, title :title } params
slug (str
(time-format/unparse
(time-format/formatters :date)
(time-coerce/from-date date))
"_"
(cl-string/replace (cl-string/trim title)
#"[^\w\-]"
"_"))
p (merge params {:slug slug})]
(save-post p)))
(defpage [:put "/post"] {:keys [id]}
(let [post (congo/fetch-by-id id)]
(save-post post)))
(defpage [:delete "/post"] {:keys [id]}
(let [post (congo/fetch-by-id id)]
(congo/destroy! :post post)))
3 Réponses :
Voici comment j'ai "réparé" mon problème: En réponse au commentaire de @ Alex suggérant que je regarde Benkastah.css.base, j'ai commenté la majeure partie de ce fichier et redémarré le serveur. À ce stade, le message d'erreur indiquait à Benekastah.css.blog, où j'ai de nouveau commenté la majeure partie du fichier. Ensuite, le message d'erreur signalé àenkastah.css.theme (le dernier fichier dans le groupe Benekastah.css. * Groupe), à quel point j'ai pris les mêmes étapes que les deux autres fichiers. Ensuite, le serveur a fonctionné. Ainsi, les mots débordés, je n'ai pas décompressé le code dans chaque fichier et tout semble aller bien à nouveau. J'ai aussi pu ajouter la dépendance à la piégée. Bizarre. P>
Si quelqu'un a un aperçu de la manière dont Crojure, Leiningen ou Java travaille, cela entraînerait un sens, je serais intéressé de l'entendre. P>
Pour l'enregistrement, j'utilise CSSGen pour mes beenkastah.css. * Fichiers. Cela semble bien fonctionner pour la plupart. P>
J'ai eu un problème similaire, et je suis en fait à la racine de celui-ci. Il s'avère que j'avais mon propre get et supprimez les définitions de la fonction dans mon code. C'était en quelque sorte interférant avec Clojure.core's Get and Supprimer les définitions de la fonction dans cet espace de noms. Ces NPE (sur la compilation) étaient le résultat. Pour résoudre le problème, tout ce que j'ai fait était de renommer mes définitions de fonction à getk et à supprimer. p>
htth p>
Utiliser des noms idiotes tels que getk code> défaite tout le point des espaces de noms :) Resorts to Report-Clojure CODE> est la solution propre.
Ceci est causé lorsqu'une fonction dans un espace de noms remplace une fonction de base, comme obtenir code>. Vous pouvez en trouver une discussion sur la liste de diffusion de clojure-dev ici A >. La solution, plutôt que de renommer vos fonctions consiste à placer (: refléter-clojure: exclude [nom de la fonction de remplacement]) code> dans votre NS code> formulaire. P >
On dirait que ceci est censé être un commentaire à @Nutritivetim. +1, cependant. Je me suis demandé à ce sujet depuis un moment.
Aaaand Cela vient de résoudre un problème vraiment déroutant pour moi. Merci encore!
La réponse de Dave m'aide à sortir du problème!
C'est la meilleure solution. Je vais utiliser cela à l'avenir. Merci.
Bien que j'ai eu un peu de numéros de ligne différents dans la stacktrace (apparemment à cause d'une autre version de l'outil), c'était la solution pour mon cas!
Pas une réponse à votre question, mais ces sortes de problèmes sont généralement évitées si l'on tire parti de la repeale à construire progressivement leur application, plutôt que d'écrire un tas de code puis de voir si tout fonctionne.
D'accord. J'ai tendance à développer de cette façon, ce qui me rend encore plus confus. L'étape après laquelle la défaillance a été renversée, mais le problème persiste. J'essaie de retracer mes pas, mais sans succès. Existe-t-il une classe d'erreurs particulière qui peut être liée?
Au bas des deux traces de pile est une nullpoinpointException lorsque vous essayez de renvoyer quelque chose lors de la charge de Benekastah.css.Base. Pourrait vouloir regarder là-bas. En outre, 1.3.0 a plus de traces de pile.
J'ai la même erreur sur un programme qui fonctionne bien dans la replaction via Slime. Quand j'ai fini de travailler et je suis allé monter avec "Lein Uberjar", j'ai eu les erreurs ci-dessus. "Lein gui" échoue également de la même manière. J'ai essayé "Lein Clean", supprimer ~ / .lein, même la mise à niveau vers Lein2-Aperçu, en aucun effet. L'application fonctionne toujours bien de la RÉPEC, elle refuse simplement d'exécuter une autre manière.