2015-12-21 24 views
13

I am newbie trong scala và SBT
tôi bắt đầu sử dụng IDEA với SBT và phải đối mặt với lỗi không rõ ràng (Biểu hiện loại DslEntry phải phù hợp với Def.SettingsDefinition trong tập tin SBT)
enter image description here
Nó rất đơn giản dự án thử nghiệm sản phẩm nào với plugin cầu cảng (ví dụ lấy từ trang web plugin)Intellij IDEA và SBT lỗi cú pháp

đây là nguồn plugins.sbt:

logLevel := Level.Warn 

addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "2.1.0") 

lỗi này chỉ hiện diện trong IDEA GUI. Nếu tôi biên dịch dự án - tất cả đều ổn. từ bảng điều khiển - tất cả đều ổn. Nhưng tôi không thích khi một cái gì đó không hoạt động đúng cách

Tôi đã cố tải xuống phiên bản SBT mới nhất và đặt đường dẫn đến nó trong thuộc tính IDEA toàn cầu - sự cố vẫn tiếp diễn.

Tôi đã tải xuống tệp intellij IDEA EAP cuối cùng với phiên bản plugin scala, plugin sbt và các plugin khác - sự cố vẫn tiếp diễn.

Có ai có thể giúp giải quyết vấn đề này không?
Cảm ơn

+0

Nhìn vào phía bên phải của ý tưởng, tab SBT mở, chọn dự án chính và làm mới nó . –

+0

Tôi đã thực hiện nhiều lần ... nhiều lần =))) – Alexandr

+4

Có thể trùng lặp với [Intellij sbt sbt-native-packager và lỗiPlugPlugins] (http://stackoverflow.com/questions/31552605/intellij-sbt-sbt-native -packager-and-enableplugins-error) –

Trả lời

14

Hãy thử điều này:

lazy val root = (project in file(".")). 
    enablePlugins(JettyPlugin). 
    settings(
    name := "test", 
    scalaVersion := "2.11.7", 
    version := "1.0" 
) 

Cập nhật: Dưới đây là những gì tôi biết:

Lỗi xuất phát từ IntelliJ của SBT Plugin https://github.com/JetBrains/intellij-sbt/blob/master/idea-plugin/src/main/scala/org/jetbrains/sbt/language/SbtAnnotator.scala#L41.

Loại trả lại của (project in file(".")). enablePlugins(JettyPlugin)Project. Nó được chấp nhận bởi plugin sbt.

Tuy nhiên, nếu bạn sử dụng độc lập enablePlugins(JettyPlugin), kiểu trả về là khác nhau, và nó trở thành DslEntry mà làm cho SBT cắm không hài lòng. Một cách khác để giải quyết vấn đề này đơn giản là tiêu thụ kiểu trả về là enablePlugins. Ví dụ:

val foo = enablePlugins(JettyPlugin) 
+0

bạn sẽ thêm giải thích cho giải pháp? – Marin

+0

@Marin Tôi không hiểu rõ về câu đố này. Nhưng tôi đã cập nhật câu trả lời với những gì tôi biết. – SexyNerd

+0

@SexyNerd Bằng cách nào đó việc gán 'enablePlugins' cho một val thực sự không bật plugin. Dòng wiggly đã biến mất, tuy nhiên không có plugin nào được kích hoạt. –

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