2012-12-03 31 views
11

Tôi đã định cấu hình một dự án để sử dụng scala/maven/Eclipse. Bởi vì tôi cần một thư viện scala trên con đường xây dựng và scalatest cũng sử dụng thư viện scala riêng của mình tôi nhận được cảnh báo này:Cách sử dụng chỉ một thư viện scala cho maven/eclipse/scala

More than one scala library found in the build path, all with compatible versions. This is not an optimal configuration, try to limit to one scala library in the build path.

Tôi không nghĩ rằng tôi có thể loại bỏ cảnh báo này khi tôi cần cả hai thư viện - một cho Maven, cái khác cho Eclipse. Điều này dường như không gây ra bất kỳ vấn đề gì vì vậy tôi sẽ phải chấp nhận nó? Có cấu hình thay thế nào chỉ sử dụng một thư viện scala cho Maven & Eclipse không?

Nếu tôi loại bỏ các thư viện scala từ dự án tôi nhận được lỗi:

Cannot find Scala library on the classpath. Verify your build path!

Đối với một số lý do Eclipse đòi hỏi các thư viện scala được trên con đường xây dựng mặc dù nó đã có sẵn như là một sự phụ thuộc Maven.

+0

có thể dự án bạn đã tải chứa nhiều lọ trong đường dẫn lớp, chứa thư viện scala. (đã xảy ra với tôi một thời gian trở lại, thấy thông điệp chính xác này ... bao gồm cả lọ cẩn thận hơn, tức là sử dụng "mỏng" lọ và không độc lập "chất béo" lọ giải quyết vấn đề ...) –

+0

tại sao bạn cần khác nhau thư viện scala giữa maven và nhật thực? –

+1

nếu maven là okay với chỉ có một thư viện scala, sau đó bạn không có vấn đề. sử dụng plugin eclipse maven 'mvn eclipse: eclipse' để tạo ra các tập tin dự án eclipse cho việc thiết lập dự án cố định. –

Trả lời

10

Không có gì phải lo lắng. Eclipse cảnh báo bạn rằng bạn có nhiều số scala-library.jar s trên đường dẫn lớp của mình, nhưng miễn là chúng có cùng phiên bản, thì cũng không sao cả.

Nếu một trong số chúng phân tách (ví dụ, bằng cách nhấn số phiên bản Scala trong tệp pom), bạn sẽ gặp rắc rối: tùy thuộc vào thứ tự classpath, IDE sẽ nhận các lớp từ một hoặc khác, và bạn có thể nhận được kết quả khác nhau khi xây dựng trên dòng lệnh.

Trở lại với thiết lập của bạn, bạn có thể

  • loại bỏ các container Scala Library classpath từ các dự án Eclipse của bạn, để lại chỉ là jar rằng maven cho biết thêm.
  • bỏ qua cảnh báo
+1

vui lòng xem chỉnh sửa –

+1

Bạn đang sử dụng '2.0.2'? Có thể bạn đang gặp phải [vấn đề này] (https://www.assembla.com/spaces/scala-ide/tickets/1000987#/activity/ticket :), được khắc phục trong 2.1.0-mốc 2. –

0

Liên quan đến dự đoán ở đây, bạn có đang sử dụng Eclipse Indigo được cài sẵn với Scala 2.9 và plugin Scala tương ứng không? Nếu đó là lý do bạn cần sử dụng thư viện đó, có lẽ xem xét việc sử dụng Eclipse Juno? Đó là những gì tôi sử dụng và nó hoạt động khá tốt với cả mốc quan trọng và hàng đêm xây dựng

+0

Tôi đã cài đặt plugin scala 2.9 riêng biệt trên Indigo. Tôi không thể sử dụng Juno. –

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