Hiện tại tích hợp Scala của Gradle không cung cấp chức năng REPL. Làm thế nào để chạy một Scala REPL từ Gradle với classpath thích hợp?Scala REPL ở Gradle
Trả lời
Minimal build.gradle
:
apply plugin: 'scala'
repositories{
mavenCentral()
}
dependencies{
compile "org.scala-lang:scala-library:2.11.7"
compile "org.scala-lang:scala-compiler:2.11.7"
}
task repl(type:JavaExec) {
main = "scala.tools.nsc.MainGenericRunner"
classpath = sourceSets.main.runtimeClasspath
standardInput System.in
args '-usejavacp'
}
tín dụng để this answer cho việc giải thích làm thế nào để chỉ đạo stdin với standardInput và có REPL sử dụng classpath đúng với args.
Lưu ý thư viện scala-compiler
là phụ thuộc. Đó là nơi tìm thấy scala.tools.nsc.MainGenericRunner
.
Từ giao diện điều khiển một số tùy chọn cần thiết để chạy REPL:
--no-daemon
, nếu bạn đang sử dụng một daemon Gradle. Tại thời điểm này, REPL không trả lời các lần nhấn phím nếu chạy từ daemon.--console plain
. Một lựa chọn phổ biến nhưng kém hơn là--quiet
. Nếu chạy mà không có một trong các tùy chọn này, dấu nhắc của REPL bị ô nhiễm bởi báo cáo tiến độ của Gradle.--console plain
có lợi thế là nó cũng điều chỉnh hành vi của readline đểrlwrap
là không cần thiết.
Lệnh đầy đủ để chạy REPL là gradle repl --console plain --no-daemon
, do đó, tạo bí danh trong vỏ của bạn có ý nghĩa.
- 1. Chạy scala REPL từ gradle?
- 2. Scala REPL trong Emacs
- 3. settings.maxPrintString cho Scala 2.9 REPL
- 4. Scala - Khởi tạo môi trường REPL
- 5. Khởi chạy Scala REPL theo chương trình?
- 6. Hoàn thành tab của Scala REPL cho tôi biết điều gì ở đây?
- 7. Sự khác nhau giữa Scala REPL và Clojure REPL - biên dịch tốc độ
- 8. Sự khác nhau giữa Clojure REPL và Scala REPL là gì?
- 9. Cách điều tra đối tượng/loại/v.v. từ Scala REPL?
- 10. cách nhập lệnh nhiều dòng trong Scala REPL
- 11. Intellij IDEA: Chạy Scala REPL Console trên máy từ xa.
- 12. lấy lịch sử REPL scala (từ bảng điều khiển sbt)
- 13. Embedded Scala REPL thừa kế classpath cha mẹ
- 14. Sử dụng AndroidAnnotations với Scala và Gradle
- 15. Ngẫu nhiên cấp ở Scala là Odd
- 16. Tìm loại trong REPL?
- 17. Mạng Bayesian ở Scala
- 18. Cách mở Julia repl ở chế độ cụ thể
- 19. Cách thiết lập quét ở Gradle?
- 20. Trang web Maven ở chế độ gradle
- 21. Các nhật ký Gradle ở đâu?
- 22. Lập trình GUI ở Scala
- 23. Ký hiệu slice ở Scala?
- 24. Triển khai MapReduce ở Scala
- 25. ClassX.metaClass.getProperty của Groovy ở scala
- 26. Sử dụng Scala với Gradle cho dự án Android
- 27. Loại bỏ các kiểu trả về trong giao diện điều khiển sbt/Scala REPL
- 28. Điều gì thực sự xảy ra sau thời gian chạy/REPL của Scala khi chạy chương trình '.scala'?
- 29. ngữ nghĩa đệ quy quá tải trong Scala REPL - ngôn ngữ JVM
- 30. Làm thế nào để xóa tất cả các biến trong Scala REPL
nó hoạt động, nhưng tôi không thể chuyển sang lệnh trước bằng khóa. bạn có biết cách sửa nó không? – damluar
Tôi không sử dụng Gradle tại thời điểm này, nhưng trên đầu của tôi, bạn có thể thử sử dụng rlwrap với '--quiet' thay vì' --console plain'. –