2011-06-26 33 views
18

Tôi đang sử dụng SBT 0.10.0 để biên dịch kết hợp các tệp Java và Scala. Khi tôi chạy chương trình thông qua sbt run nó trả về một lỗi khác không nhưng không chỉ cho tôi một stacktrace - nó chỉ đơn giản là không âm thầm với thông điệp khó hiểu:Làm thế nào để có được stacktrace đầy đủ trong SBT 0.10.0?

Nonzero exit code: 1 

Nếu tôi chạy chương trình thông qua scala dòng lệnh, nó hiển thị stacktrace.

Có cách nào để SBT có thể in toàn bộ stacktrace không?

+1

Tôi không chắc liệu nó có giúp ích hay không, nhưng bạn có thử thêm 'logLevel: = Level.Error' vào build.sbt của bạn không. –

Trả lời

14

Thực hiện sbt để truy cập vào vỏ sbt, sau đó thử run, tiếp theo là last run.

last <command> xuất tất cả mọi thứ mà lệnh được tạo (tất cả cấp độ nhật ký, bao gồm [gỡ lỗi]) và stacktraces.

5

last run, như được hiển thị here, là cách để thực hiện, nhưng có thể gây phiền toái nếu bạn đang làm việc như chạy vòng lặp với ~ run và chỉ muốn xem ngoại lệ của ứng dụng. Bạn có thể yêu cầu SBT cho phép in các dấu vết ngăn xếp tự động cho một tác vụ như thế này:

traceLevel in run := 0 

Tham chiếu khác here.

0

Trong SBT 0.13.x, dấu vết ngăn xếp được in ra để câu hỏi có thể đã trở nên không liên quan ngay bây giờ.

jacek:~/sandbox/so/sbt-0.13.1 
$ sbt run 
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins 
[info] Loading project definition from /Users/jacek/sandbox/so/sbt-0.13.1/project 
[info] Set current project to sbt-0-13-1 (in build file:/Users/jacek/sandbox/so/sbt-0.13.1/) 
[info] Compiling 1 Scala source to /Users/jacek/sandbox/so/sbt-0.13.1/target/scala-2.10/classes... 
[info] Running MyApp 
[error] (run-main-0) java.lang.Exception: exception 
java.lang.Exception: exception 
    at MyApp$delayedInit$body.apply(Hello.scala:2) 
    at scala.Function0$class.apply$mcV$sp(Function0.scala:40) 
    at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) 
    at scala.App$$anonfun$main$1.apply(App.scala:71) 
    at scala.App$$anonfun$main$1.apply(App.scala:71) 
    at scala.collection.immutable.List.foreach(List.scala:318) 
    at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32) 
    at scala.App$class.main(App.scala:71) 
    at MyApp$.main(Hello.scala:1) 
    at MyApp.main(Hello.scala) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
[trace] Stack trace suppressed: run last compile:run for the full output. 
java.lang.RuntimeException: Nonzero exit code: 1 
    at scala.sys.package$.error(package.scala:27) 
[trace] Stack trace suppressed: run last compile:run for the full output. 
[error] (compile:run) Nonzero exit code: 1 
[error] Total time: 10 s, completed Jan 16, 2014 12:37:25 AM 
Các vấn đề liên quan