2016-04-27 14 views
9

tôi bắt đầu nhìn thấy những thông điệp cảnh báo sau khi thực hiện SBT xây dựng:SBT Scala Version Warning

[warn] Scala version was updated by one of library dependencies: 
[warn] * org.scala-lang:scala-library:(2.11.1, 2.11.7, 2.11.2, 2.11.6, 2.11.5, 2.11.0) -> 2.11.8 
[warn] To force scalaVersion, add the following: 
[warn] ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) } 
[warn] Run 'evicted' to see detailed eviction warnings 

Tại sao điều này? Tôi đang ở sbt 0.13.11!

Có điều gì đó thay đổi với phiên bản sbt không? Tôi đoán tôi đã ở trên 0.13.5 trước và không thấy bất kỳ cảnh báo nào về loại này!

Trả lời

10

Điều đó có nghĩa là dự án của bạn định nghĩa một phiên bản Scala nhỏ hơn 2.11.8, nhưng sbt quyết định tăng nó lên 2.11.8 vì một trong các phụ thuộc sử dụng phiên bản đó. Nó không quan trọng vì các phiên bản này tương thích nhị phân. Tôi đoán nó cảnh báo bạn bởi vì bạn có thể đã cố tình sử dụng một phiên bản nhỏ hơn vì một số hồi quy, và trong trường hợp đó bạn sẽ cần phải ép buộc một phiên bản Scala nhỏ hơn bằng cách sử dụng lời giải thích. Trong các trường hợp khác, bạn chỉ cần bỏ qua cảnh báo hoặc tăng phiên bản Scala của dự án lên phiên bản mới nhất (2.11.8).

2

Tôi không chắc chắn nếu thêm/thay đổi phiên bản Scala sẽ là lành tính. Vì vậy, tôi vừa thêm nội dung sau vào build.sbt của tôi để loại bỏ các cảnh báo:

evictionWarningOptions in update := 
    EvictionWarningOptions.default 
    .withWarnTransitiveEvictions(false) 
    .withWarnDirectEvictions(false) 
    .withWarnScalaVersionEviction(false) 
Các vấn đề liên quan