Я намагаюся створити проект Scala з sbt , тому я запускаю команду:
sbt clean test > log.log
Що означає, що будь-які повідомлення, які інструмент sbt записує на консоль Windows, повинні записуватися у файл "log.log". Але іноді я отримую стек-трак, записаний на консоль, а не у файл:
C:\path>sbt clean test > log.log
java.lang.ExceptionInInitializerError
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
at scala.concurrent.impl.ExecutionContextImpl$AdaptedForkJoinTask.exec(ExecutionContextImpl.scala:121)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: java.lang.ClassCastException: Class org.infinispan.configuration.parsing.Parser60 does not implement org.infinispan.configuration.parsing.ConfigurationParser
Чому команда ">" не перенаправляє всі повідомлення у файл?
2>&1
вашою відповіддю та1<&2
посиланням? Я завжди бачив це по-своєму, і інший спосіб має сенс також (просто перенаправлення "введення" замість "виведення", але в іншому випадку з'являється те саме), але цікаво бачити другий вибір.