을에 println 나는 내가 쓴이 매우 추한, 안티 관용적, 바보 코드에서 문제가 발견 :이 파일을 실행하면NullPointerException이의 Clojure에 내가 Clojure를 배우고
(ns music-tag.core
(:import
(java.io.File)
(com.echonest.api.v4.EchoNestAPI)
(com.echonest.api.v4.Track)))
(def api-key "JRZSJUMBK8VOOP0L2")
(def music (new java.io.File "/home/simo/Musica/musica_mp3/Rabiosa-Shakira.mp3"))
(def echo-nest (new com.echonest.api.v4.EchoNestAPI api-key))
(def traccia (. echo-nest uploadTrack music true))
(. traccia waitForAnalysis 30)
(do (println (. traccia getArtistName) (. traccia getTitle)))
내가 바로 답변을 얻을 (인쇄 아티스트 및 제목). 예외를 throw합니다.
[email protected]:~/music-tag$ lein run
Shakira Rabiosa (Featuring Pitbull)
Exception in thread "main" java.lang.NullPointerException
at user$eval39.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6465)
at clojure.lang.Compiler.eval(Compiler.java:6455)
at clojure.lang.Compiler.eval(Compiler.java:6431)
at clojure.core$eval.invoke(core.clj:2795)
at clojure.main$eval_opt.invoke(main.clj:296)
at clojure.main$initialize.invoke(main.clj:315)
at clojure.main$null_opt.invoke(main.clj:348)
at clojure.main$main.doInvoke(main.clj:426)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:405)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:518)
at clojure.main.main(main.java:37)
왜? 어떻게 해결할 수 있습니까 ???
덕분에
먼저 예외가 발생한 위치를 식별해야합니다. 실제로 여기에서 (. traccia getTitle) 호출처럼 보입니다. 제거하면 작동합니까? –
그래, 고마워, 답변을 주셔서 감사합니다. (. traccia getTitle)가 작동하지 않습니다. 또한 네임 스페이스 선언을 제외하고 evrythinghs를 제거하면 작동하지 않습니다. 그래서 문제가 lein background ... 왜 당신은 그 오류가 (.tacccel getLine)에 있다고 생각 했습니까 ?? – Siscia
아, 나는 제목이 인쇄 된 줄 알았는데. –