2014-11-18 16 views
15

Sau khi nâng cấp lên IntelliJ IDEA 14.1 một bộ sưu tập dự án bị mắc kẹt với một thông báo lỗi:Lỗi: scalac: Tùy chọn xấu: -P (IntelliJ IDEA)

Lỗi: scalac: Tùy chọn xấu: -P:/Users //.m2/repository/org/scalamacros/paradise_2.10.4/2.1.0-M1/paradise_2.10.4-2.1.0-M1.jar

có một tham số bổ sung cho trình biên dịch scala trong:

Preferences 
-> Build, Execution, Deployment 
    -> Compiler 
     -> Scala compiler 
      -> Additional compiler options = <some parameters> 

Vì vậy, bây giờ bạn đã biết từ đâu e tham số đến từ và nó thuộc vào bạn để quyết định bạn nên loại bỏ/thay đổi cho cái gì khác hay không.

Hy vọng đó, lưu lại thời gian ;-)

+0

có vẻ như bạn đã trả lời câu hỏi của riêng bạn (đó là rất tốt), tuy nhiên bạn nên đăng các câu trả lời dưới đây (đánh dấu vào "câu trả lời bạn câu hỏi của riêng" hộp) và chấp nhận nó sau này – Andrey

+0

tại thời điểm này (bây giờ câu hỏi đã được đăng), bạn sẽ thấy một nút màu đen ở cuối trang có nhãn "Trả lời câu hỏi của bạn" – Andrey

+0

Điều này chỉ hoạt động nếu bạn không còn sử dụng plugin thiên đường vĩ mô nữa. (Trong trường hợp này, tùy chọn là vô ích) nhưng nếu bạn làm như vậy, mỗi khi bạn làm mới, bạn sẽ thấy tùy chọn đó được tạo lại.Vì vậy, nó vẫn là một giải pháp không đầy đủ – tribbloid

Trả lời

7

Chỉ cần thay đổi các thông số trình biên dịch scala để

-Xplugin:/your/user/home/.m2/repository/org/scalamacros/paradise_2.10.4/2.0.1/paradise_2.10.4-2.0.1.jar 

(tất nhiên cho thư mục nhà hợp lệ của bạn) trong

Preferences 
-> Build, Execution, Deployment 
    -> Compiler 
     -> Scala compiler 
      -> Additional compiler options = <some parameters> 

(như đã nói trong câu hỏi)

Điều này giải quyết được vấn đề cho tôi. Có vẻ như cờ -P là để chỉ định tùy chọn plugin trong khi -Xplugin là để đặt vị trí tệp plugin.

0

Tôi đã đối mặt với cùng một vấn đề chính xác và tìm thấy giải pháp vĩnh viễn trong IntelliJ.

Tôi đang sử dụng IDEA 16.1 và dự án dựa trên Scala-sbt. Tôi biết câu hỏi ban đầu dường như liên quan đến một dự án maven, nhưng chỉ trong trường hợp bạn đang sử dụng SBT (và Scala), tại đây bạn đang có:

trong build.sbt, cần thêm những điều sau:

addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full) 

Vui lòng lưu ý cross CrossVersion.full. Nếu bạn cố gắng sử dụng một phiên bản cụ thể (ví dụ: paradise_2.11.7), thì nó sẽ không hoạt động.

Ngoài các plugin trình biên dịch (đó là đủ cho SBT), sau đó bạn cần phải thêm phụ thuộc tới để biên dịch/chạy mã của bạn từ IDEA:

"org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full 

PS: tôi đặt không có gì trong tùy chọn IDEA

0

Trong trường hợp của tôi, nó không hoạt động - nhưng tôi đã giải quyết được vấn đề này! Xóa scala_compiler.xml trong .ieda dir. Và nó hoạt động tốt!

Có lẽ ai đó sẽ tìm thấy điều này hữu ích

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