我过去曾使用sbt-eclipse成功将一个简单的sbt项目导入eclipse。我现在正试图利用sbt的CrossProject机制来使用Scala-JS环境(在sbt中创建2个子项目 - 一个用于Javascript,一个用于JVM代码)。建议(see SBT docs link here)是添加设置' EclipseKeys.useProjectId:= true'在build.sbt文件中,支持将(现在)2个项目导入一个eclipse项目。然后我给了日食' eclipse'在正在运行的SBT会话中命令创建我的eclipse项目,然后启动eclipse并尝试导入这个新项目。当我这样做时,eclipse中的导入对话框向导会向我展示两个子项目,但是当我尝试完成导入时,eclipse抱怨该项目已经存在,并且我在我的eclipse项目中看到了两个看似奇怪的链接没有。
将CrossProject sbt构建到eclipse的正确程序是什么?
答案 0 :(得分:0)
好的,所以似乎eclipse不喜欢我在build.sbt的共享设置区域中只有一个'name'项目我有这个:
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个独立的项目)。如果其他人有更好的设置,我很乐意听到它。