2014-10-22 16 views
7

Có cách nào để sử dụng scala.js với Maven không. Tôi muốn sử dụng scala.js trong dự án dựa trên maven, và AFAIU, thật khó để tích hợp sbt với maven.Cách sử dụng scala.js từ maven

+0

Về mặt lý thuyết, bạn có thể sử dụng nó trong maven. Bạn chỉ cần tìm tên đầy đủ của artifact vì không có '%%%' và '%%' trong Maven (cái mà biện minh cho tên artifact với scala.js và phiên bản Scala tương ứng) –

Trả lời

5

Thật không may, đây không phải trực tiếp càng tốt cho đến nay, vì không có Maven Plugin cho phép Scala.js.

Scala.js bao gồm một vài điều:

  • Một plugin trình biên dịch cho scalac, có thể enabled with the Maven plugin for Scala.
  • Libraries của riêng nó: scalajs-library, và tùy chọn scalajs-javalibex.
  • Công cụ thời gian liên kết: chúng được hiển thị trực tiếp trong plugin sbt, mặc dù lõi của thư viện nằm trong thư viện riêng biệt có thể được sử dụng lại bởi plugin Maven cho Scala.js.

Kể từ Scala.js 0.6.0, tất cả những điều này được xuất bản trên Maven Central, do đó có thể được giải quyết bằng Maven. (Trừ các plugin SBT với các bộ phận SBT-cụ thể, nhưng điều đó không cần thiết.)

Chừng nào không ai thực sự phát triển một plugin Maven thích hợp cho Scala.js, dễ nhất có thể để gọi Command Line Interface of Scala.js từ Maven để gọi công cụ liên kết thời gian (scalajsld nói riêng). Tôi không biết Maven, nhưng tôi cho rằng nó có nhiệm vụ để gọi các chương trình dòng lệnh bên ngoài trong đường dẫn của nó.

Edit: Cập nhật cho Scala.js 0.6.x: hiện vật đang được công bố trên Maven Trung ương.

+0

Wow điều này thực sự là đau khổ nhưng Tôi không còn thời gian để viết một plugin Maven hơn là người tiếp theo. Drats! –

+1

Kể từ khi được viết, Scala.js 0.6.x đã được phát hành, ít nhất là xuất bản mọi thứ trên Maven Central. Bây giờ tất cả chúng ta cần là một plugin Maven. ^^ (Hoặc gọi CLI.) – sjrd

+1

Có tồn tại bất kỳ ví dụ nào về cách biên dịch và chạy một chương trình hello-world Scala.js đơn giản, không liên quan đến SBT không? Tôi đã tải xuống giao diện dòng lệnh, nhưng không có hướng dẫn về cách chạy 3 lệnh trong thùng. scalajsc là khá rõ ràng, nhưng tôi không biết làm thế nào để đi từ đó. –

Các vấn đề liên quan