Tôi đã gặp khó khăn để có được Buildr để biên dịch dự án Scala 2.8 của tôi và tôi hy vọng một người nào đó có thể đã tìm ra điều này.Biên dịch mã Scala 2.8.x với Apache Buildr
Hiện nay tôi có ứng dụng HelloWorld tiêu chuẩn với một buildfile như sau:
ENV['JAVA_HOME'] = 'C:\Program Files (x86)\Java\jdk1.6.0_17'
ENV['SCALA_HOME'] = 'C:\scala-2.8.0.Beta1-RC6'
define "HelloWorld" do
#artifact_ns['Buildr::Compiler::Scalac'].library = '2.8.0'
require 'buildr/scala'
puts Scala.version
end
Khi tôi chạy buildr tôi nhận được kết quả như sau:
(trong C:/Users/Travis/eclipse_ws/HelloWorld, phát triển)
2.7.5
Xây dựng HelloWorld
Biên dịch HelloWorld thành C:/Users/Travis/eclipse_ws/HelloWorld/target/classes
Buildr bị hủy bỏ!
← [31mScala biên dịch hỏng:
# ← [0m
Vấn đề đầu tiên là NoClassDefFoundError - nó không thể tìm thấy lớp học chính trình biên dịch scala của. Vấn đề thứ hai là Scala.version đang in ra 2.7.5. Điều này là không chính xác vì đường dẫn SCALA_HOME đang trỏ đến bản phát hành 2.8.
Cuối cùng, việc sử dụng cờ --trace cho tôi thấy rằng Buildr đang tạo ra một lệnh scalac hơi đúng và khi tôi chạy lệnh đó theo cách thủ công, mọi thứ biên dịch. Tôi nói nó phần nào chính xác chỉ vì một số mục cp được nhân đôi. Xem phần sau:
scalac -classpath C: /scala-2.8.0.Beta1-RC6/lib/scala-library.jar; C: /scala-2.8.0.Beta1-RC6/lib/scala -compiler.jar; C: /scala-2.8.0.Beta1-RC6/lib/scala-library.jar; C: /scala-2.8.0.Beta1-RC6/lib/scala-compiler.jar -sourcepath C:/Users/Travis/eclipse_ws/HelloWorld/src/main/scala -d C:/Người dùng/Travis/eclipse_ws/HelloWorld/target/classes -verbose -g C:/Người dùng/Travis/eclipse_ws/HelloWorld/src/main/scala /hw/HelloWorld.scala
Một điều nữa tôi đã cố gắng (nhưng errored ra xây dựng) được thiết lập như sau (mà tôi nghĩ là không cần thiết w/sự hiện diện của SCALA_HOME):
#artifact_ns['Buildr::Compiler::Scalac'].library = '2.8.0'
Vì vậy, bất kỳ ý tưởng nào?
Dưới đây là danh sách những thông tin hệ thống của tôi: Win 7 64 bit JDK 6 32 bit thiết lập tại địa phương cho buildr nhưng JDK 6 64 bit system-wide Ruby 1.8.6 32 bit Buildr 1.3.5 32 bit Scala 2.8.0.Beta1-RC6
Một điều nữa tôi đang nghĩ đến là cài đặt lại JDK 32 bit của mình và lấy nó ra khỏi thư mục với tên (x86). Tôi đã tìm thấy rằng ốc vít với các tập tin bat Scala mặc dù tôi không chắc chắn nếu điều này là có liên quan đến vấn đề hiện tại của tôi.
Cảm ơn trước!
Tôi không thấy PATH thành Scala nhị phân (tập lệnh, thực sự) đang được đặt. –
Nó được thiết lập trên toàn cầu như là một biến hệ thống mà nên có sẵn bên trong kịch bản ... Tôi sẽ kiểm tra thiết lập nó cục bộ trong kịch bản khi tôi trở lại máy tính ở nhà của tôi. Cảm ơn đã phản ứng nhanh chóng! –
Ngay cả khi tôi chèn dòng sau vào tệp buildfile của tôi, sự cố vẫn tồn tại. ENV ['PATH'] = ENV ['SCALA_HOME'] + '\ bin;' + ENV ['JAVA_HOME'] + '\ bin;' + ENV ['PATH'] –