簡體   English   中英

如何使用sbt-eclipse將CrossProject sbt構建成功導入到eclipse中

[英]How to successfully import a CrossProject sbt build into eclipse using sbt-eclipse

我過去曾使用sbt-eclipse成功地將一個簡單的sbt項目導入eclipse。 我現在正在嘗試利用sbt的CrossProject機制來使用Scala-JS環境(在sbt中創建2個子項目-一個用於Javascript,另一個用於JVM代碼)。 推薦( 請參閱SBT文檔鏈接在此處 )是在build.sbt文件中添加設置'EclipseKeys.useProjectId:= true'以支持將2個項目(現在)導入一個Eclipse項目。 然后,我在運行的SBT會話中提供“ eclipse”命令以創建我的eclipse項目,然后啟動eclipse並嘗試導入此新項目。 當我這樣做時,eclipse中的導入對話框向導確實向我展示了兩個子項目,但是當我嘗試完成導入時,eclipse抱怨該項目已經存在,並且我在eclipse項目中得到了兩個看起來很奇怪的鏈接沒有。

將CrossProject sbt內置到eclipse中的正確程序是什么?

好的,所以似乎eclipse不喜歡我在build.sbt的共享設置區域中的項目只有一個“名稱”:

lazy val sp = crossProject.in(file(".")).
settings(
  version := "0.1",
  name := "SJSTut",
  scalaVersion := "2.11.7"
).
jvmSettings(
  // Add JVM-specific settings here
  libraryDependencies ++= Seq(...)
).
jsSettings(
  // Add JS-specific settings here
  libraryDependencies ++= Seq(...)
)

我應該做的是:

lazy val sp = crossProject.in(file(".")).
settings(
  version := "0.1",
  scalaVersion := "2.11.7"
).
jvmSettings(
  // Add JVM-specific settings here
  name := "SJSTutJVM",
  libraryDependencies ++= Seq(...)
).
jsSettings(
  // Add JS-specific settings here
  name := "SJSTutJS",
  libraryDependencies ++= Seq(...)
)

請注意,從設置中刪除了“名稱”分配,而是將放置在具有唯一不同名稱的jvmSettings和jsSettings區域中。

現在,我可以將其拖入Eclipse(作為2個獨立項目)。 如果其他人有更好的設置,我很想聽聽。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM